Spicious, I missed that you had posted another patch earlier. However, I'm not sure it will fix the problem, since it appears the code should be asserting if neither a 2d or 3d shockwave has been loaded. Since it doesn't seem to be asserting, I'm guessing that the i variable is getting set to a positive number, but I can't test this at the moment since I broke my install that had VC installed. If it's setting like I think it is, this code won't change anything, and we'll need to rethink this option, perhaps even revert back to the disable option after all.
However, I might be reading that assert wrong too. It needs to be checked though, whatever the case.