Reason for using hexadecimal in NCHAR()? I found this in some source code today: 

        SELECT
            @Error = ERROR_NUMBER (),
            @ErrorMsg = N'An Error occured while populating the TABLE ' + @DestinationTableName +
                        N' with data. Error Code: ' + CAST ( @Error AS nvarchar(20) ) + 
                        N', Error Description: "' + ERROR_MESSAGE () + N'".' 
                        + NCHAR(0X0D) + NCHAR(0X0A) + NCHAR(0X0D) + NCHAR(0X0A),
            @ErrorSeverity = ERROR_SEVERITY (),
            @ErrorState = ERROR_STATE () ;


It looks like the error message string is adding two line feeds after the description. 0X0D is 13 and 0X0A is 10.

Is there a reason to use hexadecimal instead of just integers? 

Normally what I've done is NCHAR(13) + NCHAR(10)...
Yes, there is the obvious readability reason. For programmers, decimal numbers are meaningless. What the heck is 3221225477? But 0xc0000005 you recognize it immediately. 2147500037? Rings no bell, but 0x80004005 uberwellknown. These are value that carry meaning, you recognize them at a glance after seeing them every day in the debugger... It becomes second nature.

And no, I'm not kidding nor being sarcastic. I'm very serious. I would had also use 0x0D and 0x0A. If I see 13 I would have to think what value that is.