I also had trouble playing SOME (NOT ALL) WMA files on my Optimus S. But I'm pretty sure that it's not an Optimus S issue, it's an Android OS library issue. It depends on the encoder used to create them. PowerAmp played them all, and so did BoomBoxoid. (Apparently they have additional libraries rather than just relying on Android's libraries.) But no matter how I tweaked the settings on PowerAmp, the volume was too low (maybe 20-30% lower). And BoomBoxoid's UI wasn't good enough. (It may be acceptable by now. I'm not sure.) So eventually, I just bit the bullet, and suffered the transcoding sound-quality degradation, and the crappier-old-technology-MP3 sound-quality degradating by transcoding my WMAs to MP3s. I did this for my portable music collection only. My home music collection of CD-rips is still in WMA-lossless and my earlier downloads are still in 192kbps WMA-lossy, though now I just download music as 320kbps MP3s.
It really sucks that Google/Android didn't provide reasonable support for a popular format, like WMA. I know the guy who manages the media-portion of Android's development group and I asked him why they didn't solve that WMA problem. He said that WMA just isn't high enough priority. I'm sure that it's related tot he fact that they don't want to help their arch-enemy Microsoft in anyway.
By the way, you can use the free, open-souce app, Fre:AC to do batch transcoding. You can also use dbPowerAmp, but it's not free (though the trial version may be good enough for a one-time trancode).