4) You might not want to hear this (or then again you could be very happy!) but you should probably use DirectGraphics for 2D. Using pretransformed and prelit vertices with no Z value you can have 2D surfaces that don't get changed in any way. Expanding on this, you can also use Alpha Blending and any features on the card easily, so you get performance increases.

If you don't want to make this jump, just get rid of your classes.