Up here in puget sound we dive under the ferry lanes sometimes. I'd kind of expect that in an area with high boat traffic that if I had a dive flag up, that it'd probably get run over. The boat operator might be technically in the wrong, but there is a certain amount of common sense that divers need to apply when it comes to diving in areas with large amounts of boat traffic. If you're going to do that as a shore dive, your exit/entrance needs to be clear of boat traffic and you need to treat the surface as a soft overhead since the risk of boat traffic is too high -- or else you simply need to do the dive as a boat dive and have that surface support which can defend the dive site from other boats. In extreme circumstances where dives are being done under the shipping lanes, the coast guard should be involved up front so that containerships, military traffic, etc can be routed around the dive site.
So, it isn't simply true that if you've got a dive flag up that boats should avoid your dive flag... There are some pretty stupid places to try to fly a dive flag and assume that boat traffic will avoid you...
The whole argument really comes down to me as to if the boat could have reasonably expected divers to be in the area. If that is the case then the dive boat did something really inexcusable and tried to cover it up with a smokescreen about guides and permits.
I think you made my point better than I did
However, to the OP's credit...if he was where he said he was...then the boat Captain was in fact in the wrong. And the boat captain's should always do their best to be alert and on the lookout, even if a diver is in the wrong place. That goes back around to the same principle of minimizing risks I placed on a diver's responsibility. the same concept applies. Even if a Captain comes across a diver in the wrong place, they should make all efforts to avoid the situation.
My mind just isn't working properly after these past two weeks...and I'm having a hard time articulating my thoughts...haha!