Peter,
You can insert a NULL row even if there's a foreign key:
use tempdb
go
create table a (aid int not null primary key)
insert a values (1)
go
create table b (aid int references a (aid))
insert b values (null)
go
select * from b
go
drop table b
drop table a
go
--
Adam Machanic
whoisactive