Yes i believe you can you book on the ship and get any credits then refer it back to your agent but check with your agent close to sailing as this could change?
There are no advantages to booking on board other than a lighter wallet as you disembark. Their prices can be beaten everytime by a good cruise agent. They prey on the fact your in a happy holiday spending mood. If you don't believe me get a quote on a cruise before you go & then check the price onboard.