You wouldn't have had this issue with COALESCE(), which is ANSI SQL standard anyway. Here's an example:
DECLARE @C CHAR(2)
SELECT COALESCE(@c, 'HELLO')
SELECT ISNULL(@c, 'HELLO')
The COALESCE() version returns what you expect. The ISNULL() version returns 'HE'. One more reason to use ANSI SQL-92 standard functionality in your code when presented with the choice.
See http://www.sqlservercentral.com/columnists/mcoles/fourrulesfornulls.asp, Rule #4.