Wenn ich mich recht entsinne gibts bei der
BDE ein Problem mit prepare, aufgrund dessen man das nicht verwenden sollte.
Prepare macht generell auch nur da Sinn, wo ein und das selbe Statement mit unterschiedlichen Parametern aufgerufen wird, anosnten ist es nur eine schlichte Verlagerung der Zeit von einer Stell zur anderen.
Zur zweiten Frage: Dies ist ein echtes Problem, auf einen Timeout zu warten ist für die meisten Anwendungen nicht praktikabel. Eine mögliche Lösung wäre einen zweiten Thread zu haben, der per Ping o.ä. die Verwfügbarkeit des Servers prüft. Hilft aber auch nciht viel, wenn grad ne Abfrage läuft...
The light at the end of the tunnel may be an oncoming dragon.