Was heißt er bleibt hängen?
Das heißt, dass die Seite bis zu der Stelle aufgebaut wird, wo der setTimteout Befehl gelden werden müsste, also ca. bis zur Hälfte. Alles was danach kommt, wird nicht mehr geladen, inklusive dem Javascript, das durch setTimeout verzögert ausgeführt werden soll. Eine Fehlermeldung gibt es nicht, unten links steht in der Statusleiste "Fertig".
Anstatt wild zu spekulieren solltest du systematisch vorgehen s.o.
Meine Spekulationen sollten einfach verdeutlichen, dass ich mich schon recht intensiv damit auseinander gesetzt habe und nach Ursachen für den Fehler gesucht habe und hier nicht erwarte, Hilfe zu bekommen ohne selbst mein Köpfchen anzustrengen... ;-)
VG, Christian