I've created a patch in lighthouse for this and looking for a bit of feedback.
Essential the problem is due to MySQL (and perhaps other database vendors) of returning an empty result set for:
select * from somewhere where name in (null)
regardless of whether there are records with null entries in that field. the version that does work is:
select * from somewhere where name is null
with active record this means that the following does not return the expected records:
Event.find(:all, :conditions => {:venue_id => [1,2,nil]})
cheers, n