It shouldn't matter if the trunnion is not aligned to the X-axis. (Assuming the "A" axis of the trunnion is setup to be parallel to the X axis.) It could be skewed by 20 degrees. If you're truly indexing in 90* increments, you're going to end up with (3) square sides...
Questions about the rotary unit...
1- What kind of rotary table/unit do you have? If this is a Fanuc DDR, or any other linear/direct motor type, there should be no backlash. If it's a worm drive, or rotary cam drive, there could be backlash, but I doubt it. Even for rotary axes, there's parameters for backlash compensation.
2- There could be deflection...
3- Does this machine have a column riser installed? (Could cause the column to not be perfectly square...)
Things to check...
1- Indicate the table at "A0.0" to make sure it's truly flat. Across the "Y" direction, but also across the "X" direction as well. If it's not flat across the "Y" axis direction in the "A0.0" position, then you may have to tweak the "home" position. If it's not flat in the "X" direction, then either the head is out of tram, or the rotary unit itself is not parallel to the table. Sweep across the trunnion table, and the table itself to see if they're parallel. Rotate the rotary 180* and sweep the same face again - the error should be opposite now, of the same amount.
If the trunnion and table are parrallel, yet when you tram the trunnion table with your indicator (rotate the spindle/indicator, and keep the table stationary) and this check shows the trunnion/table are not square to the spindle, then then the head is out of tram...
1b- Cut the face. Indicate the table again, to see if anything moved.
2- Rotate the table 90*, as you would in the program. As in, mimic the program as much as possible. If the table is at "A0.0" and you have a "G0 A90.0" line in the program, then go to MDI mode, and execute the same "G0 A0.0" line to mimic the direction, and speed of the index. Then, indicate the same face with the machine, by moving the Z-axis up/down to check this face. Write down your results. Cut the face, and then indicate the same face, using the same method again. Compare results to see if anything moved, which would indicate deflection.
3- Index again. Again, mimic the program. Indicate the same face again, using the Z-axis. Write down results. Cut face. Indicate again, and compare results.
By now, you should have some data...
If you're seeing different indicator readings after cutting each face, then something is deflecting.
If the Z-axis is truly square to the table, and the head is trammed square to the table, then you should end up with a square part. If something is not square, then either the Z-axis is not square to the table, or the head is out of square.
Robodrill's are built using very simple construction. There's only 4-feet, so the leveling job should be fairly simple. If the level is off, I doubt it would cause a whole lot of issue, other than maybe a twist in the Y-axis.
If you can't figure it out using the above method, then I'd try to track down a calibrated granite square, and give the machine a once-over to see if the machine is square.