When can I send USD from abroad direct to my Revolut account ?
You already can via international transfers. Check FAQs.
Don’t suppose I can send Oman Ryals (which are actually USD really as they are pegged to the dollar) to my Revolut USD account ?
I haven’t seen any information about Oman Ryals in FAQ, so IMHO- no, you can’t.