I got this confirmation. Rogers will only unlock your phone for 50$ if you've bought it contract-free (month-by-month). This means that if you got it with a contract (ex: hardware upgrade, new customer...), you will NOT be able to unlock the phone as long as the contract is valid.
In other words, if you plan on buying a Lumia or HTC from another person (eBay, Craigslist...) in order to use with another carrier, make sure the original buyer bought it contract-free. Otherwise, Rogers won't unlock it.
This might change if 3rd party unlockers get unlock codes, but there is no confirmation of this yet, to my knowledge.