Well, it has been a couple years. We still use a solution in some way similar to this, but we've done a lot of development on it. Unfortunately, I don't have an easily packagable and useable solution. Our solution at this point is MUCH more advanced than what you see in this thread, but at the same time, utterly not acceptable as an SMF package due to its... hacked together... nature.
I would recommend seeing if vbgamers (smfhacks.com) publicly released mutliforum package does what you need. I haven't tried it and can't actually recommend whether or not you should USE it.