Excerpts from Robin Gareus's message of 2010-09-30 13:17:01 +0200:
It looks like your main problem boils down to wrong
numbering of the
sound-cards. This has been a long standing issue on Linux and there are
a few ways around it:
1) If the numbering is consistent on each boot: you can simply not care
about the number and configure all audio-software to use whatever ID.
2) the "modern way" using udev:
http://alsa.opensrc.org/index.php/Udev
3) the "old way" using module load options:
http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg07809.html
Another way to do it might be to use the interfaces name instead of the
number. At least with jack this works fine, as long as you don't have
two interfaces with the same name. If you use names, numbers don't
matter and they can (and usually will) change on boot as much as they
want to.