> Hmm.. is the cost of the cast worth it? It boils down to compile-time vs run-time performance.

Technically this isn't correct. There is no runtime cost because there isn't any meaningful code to execute. I would bet that the cast is just optimized to null.

But your other points are valid. Another issue is that you may actually be trying to format an object instance that happens to be null!