Subversion does suck, though I think this is the least of its problems. If you can, I suggest migrating to Mercurial or Git. At the very least, acquaint yourself with them so that you can recommend them to your company.
** EDIT **
Neat. Git actually has the ability to do this relatively easily: http://help.github.com/removing-sensitive-data/
I'll be trying it out in a minute so I'll let you know how efficient it is.
** EDIT **
I actually had to edit a password out of a file so I couldn't just delete it, but Git did it just fine. My project is quite small so it was fast, but I'm guessing it would be quite slow on a large repository (understandably). Apparently you can speed it up by specifying tmpfs as the device to work on.
Anyway, my command line was basically this:
git filter-branch --tree-filter \
'find -name SourceFile.java -execdir \
sed -i s/sensitive\ string/placeholder\ string/' master
git log -Ssensitive\ string
[Should be no output if it worked happily]
[Make sure the repository looks happy]
git push --force origin master
Unfortunately, apparently the sensitive information still exists in the repository, but we've basically hidden it. If somebody has the SHA1 hash for the now hidden branch then I think they can still recover the data. You'd have to create a whole new repository to completely get rid of it. This is fortunately pretty easy since you already have a complete clone of the repository (though I'm not sure whether or not pushing into the new repository will again push that sensitive information). I used this to fix a project on GitHub that had a relatively worthless password in the source code, but a password nonetheless:
Note line 40.