I don't recall any restaurants near there, either. If you want a beach with restaurants nearby it isn't a bad idea to go to a resort beach - assuming they will allow you on the grounds (and most will if you are there to spend money).
What is the name of that famous beach on St Thomas around the bend - Frenchman's Reef (or something?).
You can go there and buy cocktails and food while enjoying a really nice beach - and it is a lot closer than Magen's bay.