Framework 3.5
((object)"") == String.Empty -> False
((object)"") == "" -> True
String.Empty == "" -> True
("") == String.Empty -> True
Framework 1.1
((object)"") == String.Empty -> True
Math:
if a=b and b=c then a=c
If String.Empty == "" AND ((object)"") == "" THEN String.Empty == ((object)"")
Framwork 1.1 GOOD
Framework 3.5 BAD