It's sounds like it's running into that problem because your OEM has an sms_providers.dll which is already part of the system. The system version is a module though which is basicly a dll broken down into parts in a folder named sms_providers.dll.
Solution for now, since Palm Threaded can't be redistributed anyway (i'm guessing you're just making this for yourself) would be to move the sms_providers.dll from your OEM to the Patches folder in the kitchen. Files in the patches folder have the ability to overwrite moduled versions of dlls, but OEM's do not, without some trickery.
Another solution is to rename the sms_providers.dll in your OEM to sms_providers_palm.dll and use your initflashfiles.txt to copy it over the original during first boot...
Code:
Directory("\Windows"):-File("sms_providers.dll","\Windows\sms_providers_palm.dll")
This works, but it's sloppy because the final result is that you have 2 copies of the file. Not recommended to do more than once per OEM or with large files.