Being a complete InfoPath-phobe, I'd opt for using just a standard list, with the columns you need, and the logic for checking the limit of RSVPs implemented inside an Item Event Receiver, which handles ItemUpdating.
You could put the configuration of what RSVP list has what limit into another list (columns for this config list could be, for example, URL to the list being configured, and a number for the maximum RSVPs).
Everyone invited to the list has an entry in the list, they go into the list (a view filtered by the 'to' address, maybe), edit their entry to set their RSVP status. The event receiver will check to see if they've set it to 'accept', then count how many 'accepts' have been made so far, and compare it against the value stored in the other list (the config list). If the number exceeds, they can be redirected to a helpful error page and the 'Update' event cancelled.
This might not be the best way to do it, but it will work in SharePoint Foundation/WSS, can be deployed to the Sandbox, and doesn't rely on any forms development. Just some C# code.