I would take the non-working form and work backwards towards the working one - Meaning I'd first make the fields the same and test, etc.. To find out what's broken. FYI - I use these guys
FormMail Hosting - Web Form to Email Processing - The really nice thing about them is they'll help you with your code until it works - Meaning if you just sign up with them they'll fix it for you.
Mark.