Si es una instrucción parecida:
Código SQL
[-]INSERT INTO Tabla (..., CampoFecha) VALUES (..., "NULL")
Si lo haces usando un DataSet, que por lo que dices parece mas razonable:
Código Delphi
[-]
DataSet.ParamByName(CampoFecha).Value := Null;
DataSet.ParamByName(CampoFecha).Clear;
El culpable de que devuelva la fecha con el año 1899 es Delphi, pues es la fecha más "baja" que conoce
Salu2.