This might not be an ideal solution but it was really just to address the issue that some laptops I've tested on don't seem to like anything except their normal resolution and it works around this problem.
The next thing for tonight is to decide on a format for a config or ini file that can contain options like screen sizes, a list of levels and so on. I'm considering using XML for this, but I don't know anything about it really.
The other option is to come up with a sort of scriptable config language that supports a kind of registry like tree structure read from a text file that can hold strings, ints etc. The problem with a straight x=y ini format is that one of the things I need the config file to contain is a list of the levels, as well as single values like ScreenWidth or whatever, so I'm thinking about building a static lib that can parse a text file like that into a tree structure of some kind and be queried for values. This could then be used in any projects that require configuration.
Perhaps reinventing the wheel but that's the nice thing about doing this for a hobby rather than a job.