There is some great diving by boat - tunnels and arches as well as canyons on Thatch Cay and Cow and Calf are a few of my favorites. There is some outstanding diving around St. Thomas but the boat schedules often don't mesh with the cruise ship schedules. As the others, I would recommend Chris Sawyer but unfortunately it sounds like boat diving may be difficult due to your cruise ship schedule. I haven't been Diving with Bolongo but getting there would be pretty easy since from the cruise ship docks at Havensight you're going away from town and all the traffic and congestion which can get pretty bad if there are a lot of ships in that day. Coki's not a bad option since there is snorkeling available for your non diving friend and they hand out food for the fish so there are always plenty of fish around. I haven't been to Coki lately but there used to be gear rental available there. There is a small reef a short distance offshore that's decent. The problem here is that this is one of a couple of beaches that are very popular with the cruise ship crowd so it can be pretty crowded if there are several ships in port the same day you are there.
Steve
Steve