Ich verstehe leider noch nicht ganz wie die Baudratenerkennung funktioniert, ...
Ich hab die Baud Raten Erkennung über die Abfrage des Terminal Typs ( ESC [c ) realisiert. Die Anfrage wird mit den verschiedenen, möglichen Baud Raten an das Terminal gesendet und es wird dann auf eine (sinnvolle) Antwort gewartet. Daher muss man auch keine Taste drücken, das Terminal antwortet ja selbstständig. Ich hab auch noch nicht erlebt, dass das nicht, oder erst nach mehrmaligen Versuchen funktioniert hätte. Eventuell stimmt da was mit deiner RS232 Verbindung nicht, oder HyperTerminal hat da irgend ein Problem (hatte bei mir aber auch immer funktioniert).
Ich hatte jetzt übrigens gestern wieder fehlerhaften Zeichen auf dem Terminal. Da lief es dann auch unter 9600, 4800 und 2400 Baud nicht sauber. Irgendwann war mit 19200 Baud alles wieder in Ordnung und 9600 lief auch. unter 4800 un d 2400 Baud kamen allerding wieder vereinzelt Schrottzeichen. Ich hab dann die 6551 und den MAX232 getauscht. Ohne Veränderung. Ich glaube, das bei mir der USB-Seriell Wandler die Probleme bereitet, was ich auch bei dir klaly vermute.