Thank you all who contributed to the solution for this thread.
The fix was to change udev's rules to assign wlan0 to the card instead of wlan1. The USB wireless adapter was assigned to wlan0, but it wasn't present most of the time, so that's why it didn't work. I modified /etc/udev/rules.d/70-persistent-net.rules, changing wlan1 to wlan0. I also changed eth1 to eth0 for my wired network card while I was at it. I'm posting this now via a library's wireless network, so it is proven to work now.