Bandit, with regards to whether the mobo/bios supports the res you require, you're in extremely good hands with Arlie.
As for my input, here's a shedload of background info ... and then a bit more at the end

Windows resolution support is dependant upon 3 factors:
- GPU/Onboard chip (you have VIA K8M890 + VT8237A)
- Driver Support
- Windows Integration
Now, among the 3 items in the above list, any number can cause an incompatibility/inability to reach your required/desired resolution. However, when assured the hardware supports the particular res, the latter 2 acting together creating an incompatibility can be the root of the problem.
Virtually every monitor is now certified as "plug and play". In days of old, without a driver, Windows would detect a monitor as "plug and play", and load the standard monitor driver. This same driver is hooked into the vga driver at initial windows load, and also at boot - which is why up until 2000 (NT5) and to some extent XP (NT5.1) the bootscreens are displayed in the lowest resolution available to the OS - 640x480 (NT5) and 800x600 (NT5.1) and with a whopping 256 colors have no polish or finesse.
In the scenario of a plug and play monitor being detected, the max resolution, is then determined by the GPU/mobo, as well as the 2 device drivers: GPU/mobo and standard monitor driver.
However, the use of plug and play for the purposes of identifying a monitor has been taken one step further. Rather than have a unit detected as plug and play, some models transmit (the best description I can think for it) the model description to the OS. Presuming a driver had been included in the XP driverset this information can then be displayed instead of just "plug and play monitor" or "default monitor" (in some cases) in the display module of the control panel. A fully updated software driver can improve this situation further by adding/removing resolutions and/or support/diagnostic applications.
The purpose of identifying the monitor to the OS is simple. It allows the 3 sets of software to interact together - GPU/mobo & monitor drivers & Windows.
Very simply, those 3 should integrate as follows:
-------------------OUTPUT SIGNAL-------------------GPU/MOBO (HARDWARE)
-------------------GPU/MOBO (DRIVER)-------------------MONITOR (DRIVER)-------------------WINDOWS-------------------MONITOR (DRIVER)-------------------GPU/MOBO (DRIVER)-------------------GPU/MOBO (HARDWARE)
-------------------REFRESH REQUEST-------------------When this process is running smoothly (depending upon driver versions, and the actual monitor driver being installed) Windows should detect and give the ability to select upto and including the min/max resolutions for that model based upon hardware limitations set at manufacturing level and limitations in the drivers themselves.
This is also where the information regarding refresh rates is obtained from. I believe the option "Hide modes this monitor cannot display" when selecting a refresh rate is due to this information being selected initially by the standard vga/plug and play monitor driver, and then limited by the actual GPU/mobo and/or monitor driver.
As an example, the highest possible resolution available to an identified 17" CRT (HiSync 775N for example) would be 1280x1024 (I think this was due to tubesize). To obtain this, the information from both the GPU/mobo and monitor drivers would be obtained and the relevant results given.
In some cases, the max resolution for an unidentified 17" CRT plug and play monitor would be dictated by the plug and play monitor driver. Due to it's nature, this driver includes all resolutions for maximum compatibility, thus allowing selection of rediculously high resolutions way out of the range of support for that monitor resulting in an out of sync message.
TIP: If selecting a resolution/refresh rate on 2000/XP results in an out of sync message, loss of sync or otherwise unexpected outcome, Windows allows around 45 seconds before this change is commited to the registry. Hitting escape in this time restores the previous setting. (I believe this is dependant upon "Apply the new display settings without restarting" being enabled - which if I remember rightly is enabled by default in Windows)
With both scenarios in mind, there are still occasions when in either case, the expected outcome inexplicably does not materialise.
So, to return to your question ...
In general, only the standard 100% required drivers are loaded in safe mode. If I remember rightly, safe mode should either load the drivers used in windows setup (BEFORE being prompted to change to a better resolution and the initial stepup to 800x600 [XP]) or the standard vga driver usually providing 256 colors and a max selectable res of 1024x768 (if you're lucky).
From the way you've described it, Windows seems to have loaded the full device driver in safe mode, and set about reading the resolution information held within possibly more than one vga driver. Very odd indeed. However, I'd probably expect Windows to return to the default functionality should you return to safe mode again in the near future. Personally, the highest resolution I've ever been able to select in safe mode is 1024x768 @ 256 colors.
A possible reason for you being unable to select 1440x900 in standard Windows mode escapses me at present. Initially, as Arlie mentioned, check your driver versions, and update where applicable. So, here's the links to the single downloads;
VIA Hyperion Pro Driver Package Version 5.12A [viaarena.com]K8M890CE/K8N890CE Display Driver [viaarena.com]Also, moving along with the notes above, check to see how your monitor is identified. If it is plug and play, install/download the driver (if available) for your monitor and see if that makes any difference.
I know there's loads of probably unrequired info in this post. I apologise if some may not make 100% sense - it's around 0200 in the UK, and I'm still working on Greek time (GMT+2).