se come dici tu "in locale va che è una meraviglia...."
mi pare che grossi problemi nel codice non ce ne dovrebbero essere!

quello che mi viene in mente è:
1)hai provato a stampare
phpversion();
sia in locale che sul server?
magari se sono due versioni molto differenti possono avere comportamenti differenti
(ad esempio la funzione session_is_registered() che tu usi è DEPRECATED a partire da PHP 5.3.0. )
In ogni caso io proverei sen'altro asostituire le varie
Codice PHP:
 if (session_is_registered('logged_admin')) ... 
con
Codice PHP:
 if (isset($_SESSION['logged_admin']))... 
2) hai provato a far girare in locale settando error_reporting(E_ALL);?
magari qulche "notice" puoi farti intuire cosa da problemi sul server

insomma il concetto è di vedere prima le differenze tra ambiente di test (locale) e ambiente di produzione (server) e poi capire cosa fai in test che produzione non supporta

bytez
p.h.