Video cards require textures to be powers of two. Always have and probably always will.
Umm...textureRect? The only downside to a non power of 2 texture is your uvs are mapped in real pixel space, rather than 0 to 1.
(B3d can't use 'em, but video cards do support them, and now.)