1.) Der Server läuft unter Linux/BSD/OS X, ja? Unter Windows ist chmod() relativ sinnlos, da Windows keine POSIX-Dateizugriffsrechte kennt. Dort kannst du an sich nur 0600 und 0400 verwenden, alles andere entspricht einem von den beiden.

2.) Kannst du den Ordner von der Shell aus chmodden? Kann der User, als der PHP läuft, den Ordner chmodden? Vielleicht gehört der Ordner zur falschen Benutzergruppe.

3.) Ist safe_mode aus? Wenn in der php.ini safe_mode aktiviert ist kannst du Direktzugriff auf das Dateisystem vergessen und mußt über die FTP-Funktionen gehen.