From a coding perspective, the transform method in whatever language is being used should only be linked to the non-turbo power level. Separate variables for a power level when turbo is activated and when it is not differentiated by boolean logic could aid in allowing the transform method to only use the original power level.
I just find that it would be more intuitive if one could transform while in turbo mode, though I do see your point that cheating would be an issue if the coding that I just mentioned wasn't implemented. The requirement to switch off turbo, transform, and turn turbo back on (especially when transformations become near-instant) is annoying.
Just speculating.
Edit: Hmm, I wasn't aware of the way that turbo and transforming augmented one's power level. That makes it interesting. I'm sure there's a work-around... let me think about it for a while.
Another Edit: Multiplying the non-turbo-power-level variable by 2 (or whatever transforming does) to get your transformed-power-level-variable should be static.
Say you start at 2.000.000 (two-million). This is your non-transformed-power-level variable (NTPLV). If you engage turbo, you multiply that by 1.25 getting 2.500.000. Your NTPLV would still be 2.000.000 from a coding perspective. If you transformed while turbo is activated, the method should only sync with your NTPLV, multiplying it by 2 (or whatever transforming does). This would give you a transformed-power-level-variable (TPLV) of 4.000.000. The turbo method would always have to sync with whatever your base power level is at the time, NTPLV or TPLV. Multiple instantiations of variables seems to be the key. If you transformed with turbo, your final power level wouldn't be 4.000.000, it would be 4.000.000 x 1.25 or 5.000.000, but when you took turbo off, you would still be at the correct 4.000.000.