Fix face collapse when subdivide
When you subdivide an object, the degree to which an edge gets smoothed out depends on how far away the next edge is. You'll notice that the right side of your cutaway is completely devoid of edges, so this edge is getting pulled a long way off. Meanwhile the edge at the back of the cutaway has another edge loop close behind (where the selected vertex is in the first screenshot), and is therefore much sharper in the subdivided mesh.

Here's a simpler example to illustrate what's happening:

Plain mesh before subdivision:



After subdivision. Notice how the edge is more rounded on the right side of the cutaway.



If you want all the edges to have the same amount of rounding, add edge loops at a constant distance from both side of each edge in the existing mesh (by hitting ControlR in Edit mode)

Here's the same mesh in edit mode with extra edge loops:



And this it what it looks like after subdivision:



If you want the edges to be more rounded, move the additional edge loops further away from the existing edges. And if you want sharper edges, move them closer in.

Alternatively, try using the Bevel tool instead of a subdivision modifier.