If your project fails global optimization but seems to orient OK, the probable problem is a bad referenced mark or two or a point marked in the wrong location. The reason is that one or more bad references (or inconsistent markings) can shift an orientation just a bit (still looks OK in 3DViewer but is wrong) and then the Global Optimization takes a step in the wrong direction and ends up failing (by moving the slightly bad camera station position a lot). Use Point Audit to carefully track down any marking or referencing errors.
Global optimization can also fail if control points have been marked incorrectly if this is a control based project. Check the control points using the Imports and Coordinate Systems Pane (see Control Imports and Imports and Coordinate Systems Pane) while turning off the "auto-advance" so the control points can be compared with their marks.
Also see Orientation Fails above.