The behaviour described below is specific to .net-3.5 only
I just ran across the most astonishing behavior in the C# compiler;
I
The comparison is valid because the compiler converts the Guid to a Nullable and then it makes sense.
Guid
Nullable
There is a bug report on the warning not being issued here.
See here here for a fuller explanation from Eric Lippert.