If I send a BTC to an offline cold storage, does the transaction in the blockchain appear when i send it or when i receive it or not at all? If I send a BTC from my hot or exchange wallet to my cold storage does it has to pass the blockchain or can the blockchain be bypassed? If it has to pass the blockchain, when does it appear in the block explorer? when I send it? when I receive it (the cold storage comes online)? or not at all?
It seems that you have a misunderstanding of how Bitcoin transactions work.

Transactions are not things that are sent directly to the receiver. The recipient does not need to be online to receive Bitcoin as they do not have to do anything to acknowledge a transaction. Instead, when you someone Bitcoin, the transaction you create is broadcast to the entire Bitcoin network. Whether the recipient receives the transaction is irrelevant.

Once the transaction is broadcast to the Bitcoin network, a miner should include it in a block and thus it becomes part of the blockchain. Being included in a block means that the transaction has "confirmed". While it is not in a block, it is "unconfirmed".

If the recipient is offline when you broadcast the transaction, and the transaction confirms (i.e. is included in a block) while they are offline, they will see the transaction in the blockchain as they sync the blockchain.



So in your example, the transaction will be broadcast to the network, and a miner will include your transaction in a block. It does not appear in the blockchain when you send it, but it will appear in it shortly after. Whether your cold storage wallet is offline or online does not matter as there is nothing that needs to be done by the recipient in order to receive Bitcoin.

Block explorers generally listen to the Bitcoin network for unconfirmed transactions, so as soon as they receive your unconfirmed transaction, they will make it searchable. If they don't see it, once it is in a block and they receive the block containing it, they will display it as well.