well i first created a server on my own pc, that just worked fine i portforwarded it, still worked fine. but now i am using a dedicated server i get that error while using the exact same files. the only change is that it is running on a windows 2003 64 bit instead of a windows xp 32 bit
That's a perfect test case for infection / corruption.
Honestly though, I do know of several "skinning" apps which make (what I would consider" non-hostile hacks to Shell32.dll.
My point is, if that error is legitimate, it's a major bug in the core of the Windows OS which only Microsoft could fix... and the entire Web would be covered with angry server owners ditching Windows and switching to Linux because MS can't use a debugger on their own code, apparently. If you had deliberately installed such a "skinning" mod to your dedi, you would know about it. It would only take the briefest of RTFM on any of those programs to realise that they modify Shell32.dll and if it's causing problems then turning the skinner off, or setting an exclusion on the PT server / SQL.dll or so would be a *very* good idea.
I don't (from your description) believe you have deliberately used anything to cause that, and I certainly don't believe that Microsoft have made that big a blunder in any "release" version of any of their OS. Even I don't have that low an opinion of their ability. XD
The only remaining possibility is that you disabled the System File Checker, and System Restore and have manage to corrupt the hard drive by performing low-level edits outside of the NTFS IFS. (booted from a "live" disc and modified the files while the OS wasn't running, or had a major power outage which defeated your hosts UPS or someone was playing with a degaussing rod in the server room...)
Honestly, we are getting into the realms of barely believable possibilities here. Like, really extreme coincidence coupled with quite basic incompetency. But I still can't say 100% that it's an infection / hacker attack. It's just simply by far the most plausible explanation.
The solution to fix it is simple, restore the system to a stable state, and try again.
Oh! Here's one possibility which isn't implausible at all! You (or, someone who has worked on your server alongside, or before you) made a modification somewhere in your server, to break out to system libraries without using conventional relative addressing. In other words, you addressed a routine directly, without looking up it's address vector in the header.
Of course, that address will be different on every OS, and may even change with updates / patches / service packs. (I've made this warning before when I've seen people doing it, and I've seen people ignoring my warning)
If the patch was made against XP x86, it will probably only work on XP x86. (and, maybe 2003 Server)