As you said, fill surface is a magical feature. but you can't force G2 continuity were it is not possible. If setting G2 on a specific side will cause the result to be self intersecting, the system will not let you create it. If G2 fails, then go to each edge in the list and change it to G1 or G0 to determine which location(s) are causing the problem.
As @TimF suggested an image showing the issue would help a lot.
The sharp corner areas are the reason G2 will not work. There is not enough space for the system to create G2 continuous patches in those corners without creating self intersections. With the definition you have, G1 is the best you can hope for. If you are able to remove the sharp coners, then you have a chance to get a G2 surface in the remaining area.
In the OK case, the curvature of the surrounding surfaces is very different than the original case. In the OK case, the G2 curvature (basically spherical) continues in the same direction as the surrounding faces so the sharp corners don't matter. In the original case, because the surrounding surfaces are basically toroidal, in order to fit a G2 continuous surface, the curvature in the center of the fill surface will need to reverse itself. Then the sharp corners matter.