Der Zeitwert wird so übertragen:
FieldByName('Datum').AsDateTime := Now();
Wenn Du es anders nicht lösen kannst, würde ich einen Zwischenschritt über eine Variable gehen
DT := Now;
und vor einer Zuweisung DT prüfen. So könntest Du zumindest erfahren, ob das Problem vom Delphi kommt oder in der
DB liegt.
Ich kann mich erinnern, dass wir schon einmal 2 Threads zu diesem Thema hatten. Da wurde u.A. die Vermutung geäußert, dass "Now" irgendwo als Variable definiert und gelegentlich überschrieben wurde (nicht also die Systemzeit verwendet wurde). Ob es eine endgültige Klärung gab, weiß ich aber nicht mehr.