WHERE ISNULL(mydatefield, '19000101') = ISNULL(@dateparm, '19000101')assuming Jan 1st, 1900 is never actually used in your application. Personnaly, I prefer the other method, since I find it more readable and obvious.
WHERE (@dateparm IS NOT NULL AND mydatefield = @dateparm) > OR (@dateparm IS NULL AND mydatefield IS NULL)