Firstly, if your making games, are you sure you want to be making game engines from scratch rather than using something like Unity, Unreal's engine and so on?
OpenGL is needed on Mobile phones, OSX and every console other than the X-Box (well the other console use their own thing thats a stripped down OpenGL similar to OpenGL ES since ES 2.0 wasn't out back then). So you will definitely need it in the games industry. You will probably also need DirectX. Having said that I think most game devs now program using premade off the shelf engines and don't worry about the graphics API (other than possibly things like shaders).
I don't know much DirectX (being a Linux user myself) but I can't see learning 1 really causing you problems learning the other. They should bother share similar underlying concepts. The main thing would be the coordinate system.
Having said that, many indie devs make stuff using XNA and sell through the Xbox store. Since it's built right into the Xbox they get some good sales and XNA seems like a good platform.
4) Once again I'm not that familiar with DirectX.
I've heard John Carmack prefers DirectX and I also saw the dev working on the infinity universe engine say similar things (But they went to DX11 from whatever OGL version they where targeting, Carmack would probably have been using an older OpenGL version). But OpenGL has had massive changes recently, many of which have made coding in it much easier (uniform buffer objects, GLSL uniform routines). Those changes will take a while to roll out.
OpenGL doesn't have much OOP. It does however refer to things as 'Objects' (VertexBufferObjects, VertexArrayObjects, TextureObjects, FrameBufferObjects). Those things are fairly easy to wrap in a class for whatever language your using. You don't need to implement the whole API just the parts you want. There is a C++ binding called OGLplus although it's newish and not widely used.
From what I can see from Googling DirectX also requires similar OOP frameworks to be produced.
If they both need the frameworks then the coding probably doesn't matter to much since you should only be using it in the framework.
Finally OpenGL gets some flac for having broken implementation on some system (Such as netbooks with Intel chipsets, even the ones that do work are often only OpenGL 2.x).
Or being out of date on many system (The latest version of OSX 10.7.x has 3.2, the previous version 10.6.x was 3.0, then 10.5.x is either 2.0, 1.5 or 1.3 depending on the video card (Minecraft sticks to 1.3 as it's render target for basically this reason), those systems are going to be stuck at that OpenGL version forever unless the users pay for an upgrade and 10.5 was only released in 2007 so you will have to live with it for a while longer). One good thing is you can just target what extensions you want and make your framework support fallbacks (For example you can make a VertexBufferObject class that will use the 1 vertex at a time fixed pipeline functionality if the VBO extension is missing). Also remember OSX doesn't support DirectX at all.