Un'amica che ha una ditta di servizi informatici (ed è per mia fortuna davvero brava) ha trovato il tempo di dare uno sguardo alla mia applicazione, e in mezz'ora ha risolto tutto!
Mi ha spiegato che lo script di login che avevo copiato conteneva un errore, per cui restituiva sempre lo stato "loggato" anche quando c'erano problemi, e questo faceva sembrare che il login avvenisse correttamente e che il problema fosse successivo a questa fase.
Invece il problema era precedente: oltre ad aprire la sessione lo script la registrava anche nel database per mantenere una traccia degli accessi, solo che alcuni campi della relativa tabella non avevano un valore di default e quindi, quando non venivano inseriti (sono campi che vengono aggiornati in seguito), la query non andava a buon fine e il login falliva.
La mia amica ha impostato i valori di default di questi campi e corretto l'errore dello script, così ora funziona tutto alla perfezione!
Mi scuso se la spiegazione è un po' confusionaria, ma non ho capito proprio tutto della spiegazione... non mi è neanche chiaro perché sul mio computer funzionasse tutto e sul server no, nonostante i due database fossero identici... comunque non importa: mi basta che ora sia tutto ok!
In ogni caso grazie mille per l'aiuto!