It's been a while since ours (May02) but here's my thoughts.
We did the morning one (I think it left about 9:30) that went to all three places (coral gardens, the drop off area, and sting ray city). We were almost the first boat to tender and were able to get a light breakfast ashore and wander around a bit before going to Capt Marvins for the ride to the water. If you want to try the 8:00 one, you'll probably want to get a cab to save the walking time. It was about 1 mile from the pier (you get off and turn left). You might email the folks at Capt Marvins' and find out what your options are if you miss the time. Can you take a later cruise, or get your money back? If you're stuck, I'd say it's not worth the risk.
As far as the 4 year old and his comfort, no one can answer how your son will do. Each adult and child (not sure about babies, but that doesn't apply to you anyway) gets a floatation vest, so he isn't going to sink in the deep areas. If he's comfortable in the water and you have another adult with you, I'd suggest having one adult in the water, then the child, then the other adult gets in. Have the child between your hands, and just paddle around.
I agree about the depth of the water, but one thing that I didn't realize was the depth at stingray city. They actually drop anchor a short distance away from the sand bar. When you're at stingray city, they take away your floatation vests because the rubber damages the rays. You do have to swim independently about 50 feet or so til you can touch bottom. My daughter who was 10 at the time, freaked out and jumped on me which drug me down underwater til I couldn't breathe!!
Our son was almost 9 at the time, and he ended up refusing to get in the water at any of the stops. Some teenagers made a joke about the sharks getting him, and that was it. So in a way, his money was wasted. The rest of us saw a lot though, and we just let our son enjoy the boat ride.
Whatever you decide will probably work out alright. Good luck.