I think this is your problem.... in your Dinners/Details.aspx you are setting HttpMethod to "Get" when the action is expecting a post.
Code:
<%: Ajax.ActionLink("RSVP for this event",
"Register",
"RSVP",
new { id = Model.DinnerID },
new AjaxOptions { UpdateTargetId = "rsvpmsg", HttpMethod = "Get" })%>
<% } %>