-snip- So I can either create the receiving address from the off-line machine or from the read only part of the wallet which is online?
If your cold-storage set-up isn't new:
You need to always get a receiving address from the online watch-only wallet to be sure that the one you get isn't already used.
The offline wallet can't know which addresses was used so it might display the same address in the 'receive' tab over and over again.
(guessing you already know the privacy implications of reusing addresses)