This one comes up too often and drives me nuts so I took some measurements to settle it. The problem comes up when people talk about making a 504 "D" or putting the aftermarket cranks in a 504.
1) 505 and 504 have different cranks. They are identical except for the stator side, but the ignition and flywheel are not at all interchangeable.
2)There is no 504 44mm "D" length crank. Nor can you stick a D crank from a 505 (or the aftermarket 44mm cranks) in a 504 and have everything work hunky-dory. rumors have it that 44mm 504 D's do exist, but if so, theyre very rare.
3) The tapers are VERY different. The 504 has the 80mm flywheel (103mm OD) and 505 has the standard puch size 90mm (116mm OD). Tapers shown in img below. The 504 case does not fit a larger flywheel.
4) The stators are also very different. different bolt spacing etc. you cannot put a 505 or puch etc onto a 504.
What's that mean? If you got the 44mm 505 D crank, you could get bearings and seals and it plops into the 504, works perfectly with the topend and the clutch side. But the taper is different so the 504 flywheel won't fit. The taper fits the puch flywheels but they do not fit in the 504 cases. You could use a smaller flywheel for puch like HPI or something same taper like later tomos that's got a flywheel OD < 107mm, but YOUR STATOR WONT BOLT UP. so you can also trim and re-drill the stator but this requires a lot of grinding because there's a raised lip around the stator mounts to the 504 cases. You could also cut the 504 case to fit a bigger flywheel but that's probably shitty in the rain and also still has the stator not mounting problem.
My point is I wanted to clear up the misconception NO YOU CANNOT USE THE 505 OR AFTERMARKET SACHS CRANKS IN A 504. and also NO YOU CANNOT MAKE IT WORK JUST BY SWAPPING A SMALLER FLYWHEEL