Umm...something I've done before is:
pulled the bottom end open and released the conrods from the crank. Then the cylinders came right off, with the pistons inside them and the upper rod(s) attached. Then I used a piece of 2x2 and 2 lb sledge hammer to drive the pistons down and out by making a wooden 'cage' that I slipped over the bottom of each cylinder in turn, which was set up on some concrete blocks. I had bubble wrap tied around each rod to protect it when it fell out.
It kinda spooked me to do it, but the cylinders survived it and rebuilt fine afterward. A possible caveat: it was a K4 or K5-era engine. The cylinders in those were injection-molded, not cast like the K3 and earlier ones.
The other thing I did once (to a Honda single, I think it was a 100cc, might have been a 90cc) was pictured in these forums once using a Brit twin (BSA?) where the owner poured some gas into the well-stuck cylinders (still on the engine cases, assembled) and lit it. This both heavily heated the liners and softened the pistons and he was able to drive them downward enough to pull the cylinders up and off those vertically-split crankcases. At least Honda didn't do THAT design! The little single I did this with was pretty simple, though.
![Smiley :)](http://forums.sohc4.net/Smileys/default/smiley.gif)
If you do either of these approaches, be sure to have the top cylinder deck milled flat again afterward. It will need at least 0.010" milled off anyway so the O-rings won't leak at the oil feed ports, so that's a good excuse?