I have no complaints about a checkout dive but denying service at the last minute or requiring an expensive ($100+) refresher with no assessment of skills other than time since last dive is not acceptable. The real shame in this case is the cruise line could have easily done an in pool assessment and tune-up if necessary.
Find other cruise lines and other dive ops.
Some countries require a check-dive by law- it is up to the DC to decide whether the guest should pay for it or not. I think that if it is properly done, then it is money and time well spent.
Dive centers run a service for divers but if you can't provide proof that you are a diver- not just a guy that knows how to swim underwater, they are under no obligation to take you. If people intend to dive on vacation, it only makes sense to research, have their license and logbook and the onus is on the individual to meet the requirements of the area where they intend to dive.