Oh well, since this thread isn't dead yet, I'll throw in my two bits too...
Outside cabin upgrade is fair & adequate compensation IMO. An extra $20 onboard credit would have been nice but that would be over & above and shouldn't necessarily be expected.
I agree, not being able to get into one's cabin early on day 1 is a PITA and I probably wouldn't be happy either. But I do not think that having to wait until all the passengers boarded first to allocate a room is an unreasonable expectation. moeve makes a great point in that inventory isn't handed over from "Miami" to the ship until after they leave the port so with a full ship, their hands were somewhat tied in being able to quickly resolve such a situation.
As to issue 2...
Yeah, the ship made the error. They probably should have ran a new key up to the OP but the overall issue really should just fall under the category of annoying mistake than anything else.
I think the OP's complaints are honest complaints (not that I think the facts were suspect but that the complaints were earnest) but that the expectations for compensation were bit high. But as with any consumer, they can vote with their dollar and cruise with another cruise line if they feel they'll get a better experience elsewhere (hence the fine line between "appropriate" compensation versus giving a whiny customer (in general) a $20 value that costs the company $5 in order to try to get them to spend $500 on a future purchase).