It isn't paying for the cruise that gets you nights aboard credited. It's actually being aboard.
If you pay for the cruise and don't sail, but don't get any money back, either, you do not get credits toward Mariner status (ask me how I know).
So, if you sail, but don't pay out of your own pocket, it's only fair that you do get the Mariner credits.
Besides, if someone gifts you a cruise, and you do sail, you get the credits! It isn't who pays that matters, it's that HAL is paid.
When a passenger gets a 'free' cruise for having gambled, HAL gets paid by the Casino Division, so granting Mariner credits is justified.