msdos.sys has to be a minimum size. I cant remember exactly what this is though. It will always contain a number of lines of x's to ensure it reaches this minimum size. There is something very wrong with your copy.
I can't understand where all my X's have gone then, I must admit the "sticking" type problem has been going on for sometime, however the start up in safe mode has only happened over the last few weeks.
I am going to reinstall Windows 98 SE in the near future, with a view to upgrading to XP (because of pressure from friends) sooner rather than later but was hoping for a quick fix till then.