I had 5000 coins, I put them into a cold wallet. If some how the cold wallet's address was the same as a wallet already online on someone's PC if they decide to make that wallet come online would all the coins on the cold wallet get transferred to the online wallet.
The way it works is confusing because the plumbing underneath is actually different from how it is presented.
Coins don't actually get held in a wallet. The blockchain is a transaction ledger, and every full node with a blockchain has a copy of it. The only thing in the wallet on your client essentially is the private keys that allow you to spend the funds for certain addresses.
Because people are familiar with the term wallet, since there is one in most back pockets and purses, that's what the clients try to emulate. So the Bitcoin clients use the same concept of receiving and sending money as you have with a physical wallet for cash, but that's simply not what happens.
When you send a payment, you are simply broadcasting your permission for value to be transferred from previously received transactions to new bitcoin addresses.
When you receive a payment, that is simply the client showing a filtered view of the blockchain ledger for a specific address.
So yes, if someone has a private key from a cold wallet and that key is already elsewhere in an online wallet, either of those has the ability to spend the funds. The network only cares which one spends them first. The second attempt will be rejected as the funds have already been spent.