Yes, its an overkill. But if I remember correctly Casey stated that text rendering is only for debug purposes. I assume if he will want to show real text during game, then that will be prebaked into asset files (one sprite for whole text/sentence).
Modern GPU's (anything that supports GL 2.0+ or D3D10+) now handle NPOT textures just fine. Including filtering and mipmapping.
Adding 0.5f is needed for D3D9, because how D3D9 maps texels to screen. It positions integer coordinates at corner of pixel. But usually you want it to be center of pixel. In GL and D3D10+ this is not an issue. This article explains what D3D9 does to texels to map them to pixels:
https://msdn.microsoft.com/en-us/...ary/windows/desktop/bb219690.aspx
There are timer queries in OpenGL which let's you measure how much time commands take in GPU. This mechanism is called Query Objects:
https://www.opengl.org/wiki/Query_Object