Bonnie, they will hold it till the last night. Normally, I just buy on the final day at sea, and then they will let you take it back to the cabin.
You can buy in port ... what we do is just stick it in the backpack, and never have a problem. They will have a (lonely) guy at a table, with a sign that reads" "Leave liquor purchases here," and only the most honest people bother.
Hope that helps ... we also just pack in our suitcase (the ones that are checked)
I was on the Imagination and they were pretty picky about alcohol. They were checking backpacks at the ports when you got back on the boat. You might be able to get some on in your regular carry on luggage when you get on. They will not let you take it back to your room from the shops no matter what, really sticky about that.