I've had two situations out of 200+ dives where the boat wasn't there when we surfaced...
Tiputa Pass, Rangiroa, French Polynesia - We started the dive outside the pass and rode the washing machine current into the lagoon. The exit into the lagoon has a small island in the center and we were ejected to the right, instead of the left, where the boat was watching for us. The guide waved her dSMB with no avail. Similar lack of response with a whistle. We could see the boat, as we knew where we were supposed to be, but they didn't see us. The guide switched to an air horn canister and that did the trick.
Komodo, Indonesia - We started the drift dive with the plan to go into a lagoon for pickup. The current on the corner to get into the lagoon was too strong, so we surfaced about 15 min ahead of schedule and in the wrong place. The guide waved his dSMB, others used their whistles, and I used my Dive Alert. None of these items worked. We could see the boat, but they seemed to be on a break, thinking we would surface later.
I had a Nautilus Lifeline on me, which the guide borrowed to call the boat. Unfortunately, it would turn off right after being turned on (power saving mode turns off voice radio to maintain charge for distress beacon). This was my fault, as I didn't make sure it was charged. I brought it along on every dive, but didn't charge it during the whole trip, thinking it would just keep charge til used. (It drains, slower when off, but I hadn't charged it for four weeks.) My lesson for the Nautilus Lifeline is to test with the boat when first boarding (for them to know I have one, and to make sure it works) and charging it every night or two.
Since there was current on the surface in Komodo, we lined up by holding onto the tank of the person in front of us.
When the boat finally came, the other dive teams that entered later than us, started popping up around us. They encountered the same current trying to get into the lagoon.