I several hours trying to fix this and finally figured it out, so I wanted to share. If you're submitting a custom form via POST and get back a 404 page but the URL stays the SAME, then the problem is with one of the NAME properties in your input fields.
For example:
<input type="text" name="year" value="" />
Don't use any potentially reserved words for the name property. But that wasn't exactly my issue. I also created a custom taxonomy named "property-type"
Today I learned that the names of any custom taxonomies you create also become reserved words. That means you should do something like:
<input type="text" name="my-property-type" value="" />
when changing custom property types via custom forms. Hope this saves someone some time.