what Alex is saying, you need to transpose.. therefore you need to have the worldviewinv matrix first in your mul() operation..
Actually i was never clear on this before either, thank you Alexander! I wish you would post more because you know more about this stuff than most on the forums ;p