I know this isn't the BEST practice, but every once in a while when I'm merging up a huge batch up changes with the trunk (and I know my branch is current), I will simply delete the contents of the trunk and then copy the contents of my branch up, so that I don't have to deal with resolving conflicts for an hour. The problem is that I seem to lose the entire history of commit messages for each file. My branch still has the correct history of commit messages... how can I merge them up?
Can't you merge your branch into the trunk. It sounds like you are literally copying the files, hence creating a new file that needs to be tracked and losing your history.
You urgently ought to go and read up on Branching and Merging. What you're doing is working against SVN, instead of using it.
I wouldn't want to have to use that repository.
What is the best practice for a situation like this?
You merge the changes from the trunk into the branch as often as possible. This is also the last thing you do before you reintegrate the branch's changes into the trunk.
Mercurial and Git make merging easier (as described here, here and here). It doesn't sound like you're getting much value from your repository the way you're using it so you might as well consider switching without as much hassle merging as you have now.
Oh, and erasing all of the contents of the trunk is a bad idea. No amount of "I know, but..." makes it better.