Image points should've worked. Did you set up 4 extra image points, set them up at ([Width * 1.5], Origin Y), ([Width * -0.5], Origin Y), (Origin X, [Height * 1.5]), and (Origin X, [Height * -0.5])? Then just set the rotating box's origin to the other's Imagepoint 1,2, 3, or 4 every tick, and turn it off if either of the boxes collide with any physics object. I'm assuming the boxes are the same size, by the way.
Since they're likely the same Sprite object, you'll probably need to use local variables to pick which one rotates around which.