The essential problem was that UIWebView was caching a previous .mp3 sent to it, and playing it after the current load request completed. Interestingly it was caching the first .mp3 sent not the last as you might expect. Anyway, I evaluated two suggestions for generally "cleaning contents" of UIWebView found on another question.
This worked for me, added on entry to my load request method.
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
Here's the URL for the other question, should it help someone else:
How to clean the content of UIWebView without loading an empty page?