I got new cylinders and pistons, measured them, weighed them, cleaned them *very* well, and painted them black to prevent corrosion and encourage heat transfer.
The cylinder on the left has wet paint on it, the cylinder on the right has been cleaned but not painted yet. I made sure to keep track of the cylinders, and marked them after they were painted so I could keep track of them.
As it turns out, the cylinders I designated as "A" and "D" were both 4.490" between the two sealing surfaces, whereas cylinders "B" and "C" were slightly shorter at 4.487". That's right on the edge of too much difference, but because I've got less than a half a thousandth of difference between matching cylinders, I'm not going to send them out to have them machined. Instead, I'll put both of the "long" cylinders on one side, so the heads will be able to seal correctly, and either make up the difference between the two sides with a .003 shim, or just not worry about it.... for all I know, once it's assembled, other tolerances may stack up and either make it a larger difference or even it out. That's why I'm calling this a "trial" assembly, because there may be adjustments to make after it's all together.
I'm working on removing some surface rust on my prop hub with vinegar. Most of it came off after soaking for about two hours, but I'll give it another shot tomorrow after work. I still have a fair amount of cleaning to do on the engine case, which is about the last thing I want to do... but it's going to be the thing that's holding me up in just a few days, I think. By next week, I hope to be posting pictures of a freshly painted, partially assembled engine.