Gracias a todos por la ayuda, me sirvió bastante. He solucionado el problema, use lo que me recomendaron. Pero sucedió algo curioso las lineas de codigo que uso para guardar en la base de datos de SQL SERVER es la siguiente:
Private xapertura as date
private xcierre as date
xapertura = iif(empty(m.apertura), NULL, m.apertura)
xcierre = iif(empty(m.cierre), NULL, m.cierre)
TEXT TO sql_insert TEXTMERGE NOSHOW ADDITIVE
insert into TABLAS.ASVS (<<thisform.campos>>) VALUES ('<<m.cuit>>','<<m.ficha1>>','<<m.ficha2>>','<<m.contribuye>>','<<m.barrio>>','<<m.domicilio>>','<<m.razon>>','<<m.telefono>>','<<m.acatego>>','<<m.id_catego>>','<<m.rubro>>',?<<m.apertura>>,?<<m.cierre>>)
ENDTEXT
RAFA=sqlexec(nu_conexion,sql_insert)
thisform.campos es una propiedad donde tengo la lista de los nombres de campos de la tabla con la que estoy trabajando.
No sé si esto será la mejor forma de guardar los datos en SQL SERVER pero funciona perfectamente, lo curioso es que en la cadena sql_insert escribo el contenido de los campos encerrados entre comillas simples y guarda perfectamente siempre y cuando no sea una fecha lo que se intenta guardar, porque sino no me deja. Para los campos que tienen formato de fecha le pongo un signo de pregunta como se puede ver arriba con Azúl y Rojo los campos m.apertura y m.cierre, y de esta manera ya guarda perfectamente. ¿debería usar siempre el signo de pregunta en lugar de las comillas simples?.
Gracias de nuevo a todos.