Q:

When is a null not null, when it is in Context

This is an interesting problem, when I explicitly insert a null value into the database for the column smuId:
INSERT [tblTyreHistory]
(
    [changetype], [datechanged], [fitterid],[isfitted],  
    [position], [reason],[MachineId], [rimid], [tyreid], [userid], [smuId]
)
    VALUES (1,'2014-05-19 00:00:00',86,1,1,NULL,95,NULL,5699,86,NULL)

The insert works as you expect.  However, if I leave out the column smuId from the insert I get a foreign key constraint:
INSERT [tblTyreHistory]
(
    [changetype], [datechanged], [fitterid],[isfitted],  
    [position], [reason],[MachineId], [rimid], [tyreid], [userid]
)
    VALUES (1,'2014-05-19 00:00:00',86,1,1,NULL,95,NULL,5699,86)

This is causing the problem:

The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tblTyreHistory_tblSmu".  The conflict occurred in database "myDB", table "dbo.tblSmutable", column 'id'. 

Does anyone have any thoughts? 

A:

Possibly if you have a default value specified for column smuId which is not there in tblSmutable?  This will cause smuId to be populated with the default value instead of NULL and will give error.