Erdstrahlen. Oder Polarlichter.
Mal im Ernst, wie soll irgendjemand alle Codeänderungen, die Du gemacht hast, nachvollziehen, und dann diese Frage beantworten, wenn Du nicht einmal sagst, was Du wo auskommentiert hast?
Und was die Ausnahme angeht: Starte das Programm im Debugger, damit Du uns sagen kannst, an welche Stelle im Code dieser Fehler auftritt, am besten mit Callstack.
Nur als Info:
#pragma warning (disable: 4146) macht nichts weiter, als die Warnung abzuschalten. Du behandelst die Symptome, nicht die Krankheit. Es gibt aber Fälle, wo man das einfach machen muss. Ich bin da bei ADO nicht ganz auf dem laufenden.
Kannst Du vielleicht Dein ganzes Projekt irgendwo hochladen, damit wir uns mal den Quellcode ansehen können? Natürlich nur, wenn Du das willst und das Copyright hast.