If I convert/write classes so that they can be used in the 2.70 designer, do those classes retain backward compatibility or do I have to offer 2 versions? I know most will/have likely upgraded to 2.70 already, but there are some that have not, and may not for a while.
It depends on what you mean by "backward compatibility". Classes usable in the Designer in 2.70 are loaded and initialised when the layout file is loaded at runtime. If used in an earlier version of the IDE they would need to be programmatically loaded and initialised. So while the actual source code of the class is usable in earlier versions the source of the app would need to be modified for the earlier IDE to call Initialize and DesignerCreateView with the appropriate Panel, Label and Map arguments. It's a bit clumsy!