Entonces no estas insertando NULLs, sino que intentas insertar espacios vacíos, compruebalo con este script (query analyzer):
Código:
create table #cosa(a int, b smalldatetime)
insert into #cosa values (1, GETDATE())
insert into #cosa values (2, NULL)
insert into #cosa values (3, '')
select * from #cosa
drop table #cosa
Revisa tu aplicación para que trabaje los NULL como es debido.