I agree, sort of. In tests on SQL 2005, seems to me the proc call needs to be in TRY/CATCH else control does not flow down to the PRINT stmts when linked server is not available. But I have not been able to simulate this problem on SQL 2008 R2. Maybe MS have implemented TRY/CATCH internally.
Thanks to the author, though, for bringing light to SP_TESTLINKEDSERVER, it's new for me.