Ich habe die Sache bei mir noch mal ausführlich getestet und dabei festgestellt, dass es unter SuSE kein Problem ist, X mit "init 3" zu beenden, aber unter Debian klappts bei mir auch nicht. Allerdings habe ich kdm laufen, und der lässt sich dann mit "/etc/init.d/kdm stop" beenden.
Dass "init 3" bei mir unter Debian nicht funtioniert, liegt wahrscheinlich daran, dass /etc/rc2.d und /etc/rc3.d genau den gleichen Inhalt haben, d. h. auch /etc/rc3.d enthält ein Start-Skript für kdm. Kannst ja mal nachsehen, ob das bei dir mit gdm genauso ist. Wenn ja, reicht es möglicherweise, einfach den entsprechenden gdm-Eintrag in /etc/rc3.d zu löschen, um X mit "init 3" zu beenden. Ich hatte aber gerade keine Lust mehr, das bei mir noch zu testen.
Wenn das nichts hilft, dann nimm dir mal /etc/init.d/gdm vor und schau nach, ob du irgendwas bezüglich "gdm stop" finden kannst. Da "/etc/init.d/gdm stop" bei dir nicht funktioniert, wäre es ja möglich, dass in dem Skript irgendwo ein Fehler steckt und dass sich gdm mit obigem Befehl beenden lässt, sobald du entsprechende Korrekturen vorgenommen hast.
Falls auch das erfolglos sein sollte und auch sonst keiner mehr einen Lösungsvorschlag hat, kann ich dir nur noch die etwas primitive Methode vorschlagen, für die Zeit deiner Grafikkartentreiber-Installation gdm durch kdm zu ersetzen, da sich das beenden lässt. Oder du deinstallierst einfach alle ...dm, bis du mit dem Grafiktreiber fertig bist (weiß aber nicht, ob das ohne Nebeneffekte abläuft, da ich vergleichbares noch nicht ausprobiert habe ...).
Dann noch viel Erfolg!