1. Was soll die Abfrage bringen? Sende die Daten doch - du musst dem Compiler nur sagen, er sollte es bitte als LongWord bzw. Cardinal übertragen und nicht die Datentypanpassung vornehmen zu einem Integer.
2. Assert() als Befehl einfügen und gut. Ob diese beachtet werden legst du in den Projektoptionen unter Compiler fest. Sprich: Beim Release Build kannst du die Assertions abwählen und schon sind die Abfragen alle nicht umgesetzt. Ich für meinen Teil habe diese auch in der Release Version aktiviert, da diese nur Werte und Bedingungen prüfen die absolut nicht sein sollten und damit bei auftreten zu weitreichenden und schweren Fehlern führe (u.a. Datenänderung/-verfälschung). Lieber um die Stelle wissen und entsprechend beheben als dies niemals zu erfahren und defekte Daten zu haben.
Und wenn der Kunde mal einen Datensatz nicht schreiben kann, dann ist es ihm wohl lieber als das die ganze
DB zerschossen wäre. Und so hat er nach dem Fehler die Gewissheit, dass du vom Code her diesen entsprechend beachtest, behandelst - und wenn möglich - die Ursache behoben hast. Dafür sind die Assertions da.