ja, wenn Du die Fehlerausgaben unterdrückst, kannst Du natürlich auch keine Fehler gemeldet bekommen. Das ist so, wie wenn Du mit dem Auto auf der Autobahn bist, und weil die Tankanzeige Leerstand anzeigt, schlägst Du das Lämpchen kaputt, um noch 500 Km fahren zu können...
Kommt auch ohne @ kein Fehler
if($_GET["PHPSESSID"]!=""){$_COOKIE["PHPSESSID"]=$_GET["PHPSESSID"];}
hast Du Dir denn $_GET["PHPSESSID"] überhaupt mal ausgeben lassen? Heißt die Session denn noch "PHPSESSID"?
Ja, sie heisst noch PHPSESSID