This system is the one described by the svn book, except it uses tags in place of unstructured log messages, to avoid needing to paw through the logs to figure out when the last merge was.
Are there useful tools that understand the properties set by svk and svnmerge? What are they? I'd be interested in trying them out.
Switching to svk seems a little extreme as a solution for basic merging. I wouldn't suggest it to someone unless he has a need for doing off-line work or syncing multiple repositories. I could see svnmerge being a good solution in general, but Jim wanted to understand what's going on, and it's a bit hidden with svnmerge. It also doesn't save you much effort in a simple scenario like this one.
You are not storing any indicator that a merge commit is a merge and not just a regular commit, let alone which of those other throw-away tags was the one merged in. How do you propose that any tool devised to annotate code based on history should work when faced with this system?