Para determinar si el problema está en el cliente o en el servidor, podes intentar insertar un registro con este campo a null desde isql. Si alli rebota, hay algo en el servidor que espera que tenga un valor.
Si allí pasa bien, entonces el problema está en tu programa de delphi.
En cualquiera de los dos casos es extremadamente útil conocer el mensaje exacto de error (incluyendo códigos y clases de excepciones) que están involucrados.
Hasta luego.