I have a suggestion

You should take a look at the ogg player example on noeska's site

http://www.noeska.com/doal/tutorials.aspx

The player itsself is really simple. It even doesn't have a Stop function, but i guess you are able to write one. It uses OpenAL instead of DirectSound but that shouldn't be a problem. I think openAL is much easier.

This is a pascal version of an article that was posted on devmaster.net, about playing ogg with OpenAL. You might want to take a look at it.

@ArthurPrs: Thanx alot for posting the code. Can you update the mpg123 header you posted on pastebin, so we can have a working version? Thanx again