In terms of experiencing random slow down, are you keeping your frame rate constant with some sort of a timer wait system? That might help. Otherwise, the more sprites that you display, the more CPU time will be taken up, hence your framerate will wobble poorly (plus, your game will run faster on different machines than others... eww)
Sample corruption is usually caused by some routine writing data where it shouldn't go. Make sure that you have all your pointers initializing properly.
That's unfortunately the best I can suggest. If you wanted to send me your sources (my e-mail is vining@pacificcoast.net), I'd be more than happy to take a poke around.
- Nicholas