I've tossed around the idea of making one of these for quite some time. The thread last week on these gave me the needed push to get started. I already have a piece of DOM tube with the ends ground flat and parallel to each other that I made for a milling set up. When indicating the ends on the surface plate the 10'ths dial doesn't even wiggle. The part measure about 3 5/8" long x 2 1/2" dia. and has a 1/2" wall. There is about a .005 - .010 variance in wall thickness around the tube. So My thought would be to first bore the ID to even up the wall and I should be able to get within .0005 all around.
Next I would turn a couple end plugs that very lightly push fit into the end so the tube can be ground on centers on my T&C grinder. Once set up on centers I would indicate one end to be perfectly in line with the saddle in-feed and then grind the OD.
This should end up square, at least in theory. I would mic each end and if there is any difference in dia. something is off.
The second method in case of first method failure would be to grind the OD to be equal on each end to .0001 or better and I can achieve that accuracy on my grinder and then set the cylinder up in a precision V block and grind one end. Of course the accuracy with this method would depend on the accuracy of the V block.