Block out of square

Put my dial indicator on the crank face, and I dial indicated the back face of the block that the bell bolts to. Its out of square with the line of the crank. I zero the dial with the indicator tip at the edge of the flange that the bell bolts to, level with the crank. As I turn the crank and the dial works its way up to 12 o'clock at the top of the flange, I get a perfect, linear increase in error. The top of the block is 40 thousandths shy of being square. (i.e. the face of flange is displaced towards the front end of the engine) As I come back down the block on the other side, perfect linear recovery to zero.

If what you say here is actually true, the answer is "easy." You are gonna have to machine the bell mounting surface of the block square, PERIOD. One thing you might do is dial indicate off the FRONT of the crank and see how square the crank is to the timing cover / other machined block surfaces. Maybe the line bore "wasn't so accurate????"