I recently had an instance where there was an on premise and cloud mailbox for the same user. Accidentally after a DirSync the Exchange Online license was checked prior to initiating the mailbox migration to Office 365 from on premise. Unchecking the checkbox results in a 30 day wait for Microsoft to permanently delete the mailbox.
See this article for more information – http://technet.microsoft.com/en-us/library/dn186233(v=exchg.150).aspx
When a mailbox is deleted, Exchange Online retains its contents for 30 days, by default. After 30 days, the mailbox is permanently deleted and is not recoverable.
So instead of waiting the 30 day period you can purge the Office 365 user mailbox with some powershell commands. This even works with DirSync.
First you need to install the Windows Azure AD Module – http://technet.microsoft.com/en-us/library/jj151815.aspx
Then from the Windows Azure powershell (run in administrator mode).
$msolcred = get-credential
connect-msolservice -credential $msolcred
Remove-MsolUser –UserPrincipalName user@domain.com
Get-MsolUser -ReturnDeletedUsers | Remove-MsolUser –RemoveFromRecycleBin –Force
Then run another DirSync to get using the ‘start-onlinecoexistsync’ from powershell or wait the 3 hours for the synchronization to happen.