No - surfaces are sharable (think of them as just a handle to a framebuffer). When you create them, you need to make sure the config supports both ovg and ogl rendering, but I don't see that as much of a problem for any driver which supports both ovg and ogl rendering - chances are high that all valid configs will (but it never hurts to check).

The reason for the NULL makecurrent is that some egl implementations might return errors if the surface you are making current is the same surface that's bound to the context that you are replacing (giving some surface in use error or something). It shouldn't happen IMHO, but I think I have run into a bug like that once in some driver or other at some point.