I would echo blueDC's comments above. St. John is wonderful and very different from St.Thomas. If there's any way you can manage it I would try to stay on the island.
Not sure what your budget is for accomodations, but there are a few budget hotels/inns in Cruz Bay. You might investigate someplace like the Inn at Tamarind Court. Here's a link to their web site:
http://www.innattamarindcourt.com/pages/1/index.htm
Good luck!