Currently I am working on adding in a sky dimension to my mod and I've run into an aggravating bug.
If the player starts in a normal minecraft world, while in the sky dimension, the background will turn black whenever you drop below "Sea Level", when your y coordinate goes below 63.
But if the player starts in a flat land world, the background will stay blue, unless you drop below 4 or so.
I've finally found the source of this: The worldinfo, and through it the WorldType, remains constant, if you start in a "Default" world, it will remain in that WorldType, and the same goes for Flatland.
At this moment, I cannot find an easy way to solve it, and unless I've overlooked something, there isn't any way to do it without modifying a important classes, and thus causing a likely incompatibility.
I've also noticed that the spawn point appears to be global for all dimensions, making it very difficult to create a sky dimension, which will have large gaping holes without any blocks, and keep a consistent default world spawn point.
I would like to suggest a modification to either the way WorldInfo works, or WorldProvider and World, so that multiple worlds can have their own variables so that changes to one world won't propagate to others.