You've got a couple of issues here:
1 - the guy who grabbed you underwater was totally out of line and written complaints need to be made. If he's done this to you, you can bet he's done it to some else who doesn't have your experience or confidence.
2 - taking photos of other divers while on a commercial venture when you are aware that there is a photo "pro" trying to sell some images. First, introduce yourself on the boat to the guy with the camera. let him know that while you might pop a shot or two of a diver if it comes up, that isn't what you are there for. Let him know that you do try to send an image of the diver to the diver via email if you like the way it turns out. This should open up some clear lines of communication and he can include it in his brief to his divers - they will then, hopefully, stay out of your way and go to him when they want a photo taken. If you happen to be in the same place and snap a few frames, everyone is fine. Back on the boat, the courteous thing to do is accept the proffered business cards of divers that you have snapped while encouraging/reminding them that their guide/photo guy took a whole range of images of their dives.