I'm not really up to snuff with my C programming, but if you want to help rewrite the code Jason Spiro, it should query the media table, order by DiskId and check the last sequence against the previous diskId.
enlighten me and upload the full msiexec verbose log from how windows actually installs it, and I bet it starts with Disk1.cab and works its way up the list.
I'm not a C expert either. :-) And the MSI code is quite complex, although I assume it has to be. MSI is a complicated format. See the Windows Installer Weblog (google for it).
But you're doing amazing work on the bug.
Cheers, Jason