Two things.
1. If you click back on the broweser after the error and then submit again it goes through.
2. I dont know if this is relevant but it looks like your server's default Content-type is
text/html; charset=UTF-8
Mine and the one over here is
text/html
Also your pages are all configured for
text/html; charset=iso-8859-1
but if you go to the index page, your server actually overrides it with UTF-8. I wonder if this happens when you submit the form. Basically the form has 'profilehash' hidden field it gets verified against the one in the database and if they do not match you get bad form error. But there is no reason for them to not match other than if the form gets mangled on the way to the script, or the scripts were tempered with

Different browsers could send the data differently, so the old IE (shit) could have ignored some standards but new IE7 may well follow them (natural evolution) hence the same problem. Well, it could all be wrong, what I just said...