Fort Desoto is a Pinellas County Park, and requires a "special use permit" for weddings. If you are doing the wedding yourself (with no outside vendors), there is no charge if you have less than 50 people in attendance, $100 if you have 51 or more.
But if your wedding is "supported by a commercial vendor" (i.e. a rental company, wedding company, etc.) the charge is $150 + tax ($160.50 total).
See http://www.pinellascounty.org/park/special_event_permits.htm for more info and the permit application.
There are picnic pavilions throughout the park which can be reserved, But there are no restaurants or reception venues in the park. The closest place is Billy's Stone Crab on Tierra Verde.
Beyond that, there are lots of restaurants on St Pete Beach and Pass-a-Grille. The Black Palm is one of our favorites, and The Hurricane is another popular one. There is also a place called Bayside Banquets on St Pete Beach that specializes in catering and receptions.
Hope that helps!
I would also recommend the Black-Palm on Pass-a-Grille Beach, but you are going to want to make sure to book them well ahead of time.
We used them for our rehearsal dinner on the recommendation of Stehman Photography and their suggestion was right on.
Check out The Hurricane on Pass-a-Grille Beach. They have dinner and a dance floor!
Click on each tool to see a sample.