I've seen a few other people complaining that other OAuth clients did the same thing and interpreted anything near a semicolon as a URL parameter instead of part of the URL itself, so it's great that you found a workaround of adding a slash to the end -- I think that should work in most cases. It's also possible that URL encoding the semicolon would help, too, but I'm not positive.
(the problem is on the client side, I believe, as we have no problem accepting signatures for URLs with semicolons as long as the signature is generated while keeping the parameters around the semicolon as part of the URL that you're signing, instead of moving them into the parameter section of what's being signed [under the covers, OAuth divides the base URL and the parameters on the URL into different sections of your base signature string])