Itoosilly, I understand your disappointment at the last minute cancellation. The moment a deposit is paid to an operator, a contract comes into force, the terms of which the payee would be wise to become familiar with, particularly as these vary from one operator to the next. You learned the conditions imposed in regards to guest cancellations and accepted these, but did you request clarification of the parallel operator-cancellation policies? If you paid your deposit to the agent and then your agent paid it forward, your contract isn't even with the operator, but rather with the agency, and in this case you need to review what their refund policies stipulate (they are sometimes different from those of the boat operator); when an agent books for a client, the boat operator's contract is with the agent and not with the diver, so it's the agency's policies that will apply in such a case. Furthermore, operators typically invoke a "force majeure" clause so that it's sometimes the case that there is no refund at all, not even a partial one, if a cruise is cancelled due to unexpected mechanical failures or other contretemps.
Because cancellations do sometimes become necessary, I always recommend buying trip insurance. This protects the traveler from losing money on a missed trip regardless of whether the source of the cancellation is with the traveler or with the operator. Just in the past couple of months I've had liveaboard cancellations for a number of reasons: one diver broke his leg in an accident, so both he and his wife had to cancel; one contracted dengue fever; one had a work crisis and had to fly to London to resolve it, so he and his wife canceled; one group of three had an operator cancellation due to a mechanical failure of the boat; one got spooked about a news story in his destination and canceled; and so on. Of all of the cancellations I've dealt with over the past couple of months, only one client followed my advice to buy trip insurance, and he got all his money back, including airfare, hotel deposits, etc. One lost 60% of what he paid to me, and the 40% I was able to return to him included my entire commission, and he lost additional money on airfares.
My point (without blaming nor defending this particular operator) is that any customer who gets 100% back without insurance covering some part of the loss is going to get the agent's commission as well. The operator isn't going to give back more than they got, at least not without a court judgment ordering them to do so, regardless of what any individual customer feels he has a moral right to expect.