Thanks, Oleg, for the explanation of the difference between COALESCE and ISNULL. I was about to add it myself, since it is lacking in the question, but you beat me to it.
And I agree with you that the NULLIF serves no apparent function here. Other than to obfuscate. (I knew that both COALESCE functions would return datetime; I then pondered for an extra minute to make really sure that the NULLIF does not affect the result at all; then gave the wrong answer because my not-yet awake brain thought both expression would try to convert 'Test' to the target data type).
And for those who want to do some further reading:
* Data type precedence: http://msdn.microsoft.com/en-us/library/ms190309.aspx
* NULLIF: http://msdn.microsoft.com/en-us/library/ms177562.aspx
* COALESCE: http://msdn.microsoft.com/en-us/library/ms190349.aspx
* ISNULL (similar to, yet also different from COALESCE): http://msdn.microsoft.com/en-us/library/ms184325.aspx