If setup is correct, typically how long before the coins should arrive?
One to five minutes.
Would there be any issue with my server and wallet being offline at the time?
As long as the daemon (
monerod) is synced through the date/time of the transaction, then it doesn't need to be online when using
monero-wallet-cli to refresh your wallet's balance.
if the coins don't arrive, is there anyway I can trace this from my end? What information from my friend do I need to trace?
Transaction ID's are public, so he/she can provide you that. You could then use a block explorer like xmrchain.net or moneroblocks.info to verify the transaction is recorded in the blockchain. On certain block explorers, you can input your address and private view key and it'll show you which outputs were sent to your address.
Is there any issue running with the ./monerod daemon with the --offline command
Taking into account my answer to your second question, no, there's no issue. (Well, that's assuming you don't need to send Monero. If you do need to send, then you should probably not run in
--offline mode when you generate the transfer, though I think you don't technically have to be online).
On typing balance, the number of coins is still zero.
I recommend typing
status into the daemon to verify the extent to which it has synced. I would also verify the transaction sent to you is in fact recorded in the blockchain (and at what block).