I use multiple sound cards, mostly USB and FireWire, primarily for data acquisition rather than music. They all work fine, but when I add or remove one, Windows (XP and Vista machines) reassigns the numbers associated with them. If I plug in a new sound card, it will assign that card even to programs running. It requires me to either never change anything, or go back in and reconfigure program's selection of cards. Not insurmountable, but annoying.

Is there a way to prevent this from happening. Perhaps a way to lock the sound card assignments, or even a way to store the desired configurations and quickly restore them?