1. Is there a security risk I'm not seeing with using a new linux VM versus a liveCD on USB?
In the event that your host OS is infected with malware that is specifically designed to intercept what goes on inside a Linux VM and broadcast that information to the attacker later. Technically, this is a risk factor. In reality, you have to be either extremely high profile or extremely paranoid for you to care about this technicality.
2. Are there any risks associated with using the same address repeatedly send to my savings wallet from a different wallet of mine?
There are no security risks. Only when you send Bitcoins from an address do you reveal its public key to the network, removing one of the 2 steps that exist between private key and public address. Right now, both steps are considered very secure. But when receiving, this issue is irrelevant.
There is however a potential loss of anonymity in reusing the same address as people may be able to connect different transactions you make due to them being sent to the same address. Whether this is a problem or not is up to you to decide.
3. Any other problems you see?
If you're only generating a single address, consider using Bitaddress.org. You save the website and disconnect from the internet and then go through the same process. Instead of a wallet.dat file, you'll end up with a private key, which is a string of characters. You can save this to your removable media in a text file, but you can also print it out, which provides some advantages of digital media (you can easily verify data integrity, printed paper won't become incompatible in 10 years, etc...). Importing a private key generated in this way can be done with most popular wallet software.
Using this method, you can also choose to use BIP38 to encrypt the key with a passphrase. You'll still get a string of characters to save / print, but you'll also need the passphrase to make a useful private key out of it later when you want to spend the coins.
Finally, before sending a large amount of coins to this new address, try the entire procedure with a very small amount of BTC to see if it works. If it does, start from scratch to generate the real thing.