Jason,
It is hard to list all the improvements which are in WinXP vs WinME. You will find that WinXP runs on the WinNT Kernel vs the Win9X Kernel of WinME. WinXP is more stable and robust than WinME.
All Win9X support is being dropped and any new hardware and software is coming out specifically for WinXP with little to no testing with Win9X.
As for viruses, there are just as many Win9X viruses out there as WinXP viruses. The only difference is Microsoft still supports WinXP and puts patches out for it regularly.
Take Care,
Richard