Submit handler doesn't work after theming the form
I know you've found an answer to your question, but I just want to explain why did you get that problem.

Drupal adds form_build_id, form_token, form_id (hidden fields) for security reasons and it's some purposes, while you're theming the form with template file and render its fields manually usually miss to include those fields, after that you form submission stops working. Recently this problem happened in my Symfony project (I'd found the solution) and after few days in my Drupal project, the solution was the same;

If you render the fields manually and also call drupal_render_children function, you will find that fields can be duplicated, my solution was rendering those fields also, like this:

print render($form['form_build_id']);
print render($form['form_token']);
print render($form['form_id']);


In my case for some reason drupal_render_children duplicated my form fields (I think this is normal, because I manually rendered the fields plus called drupal_render_children), that's why I ended up with this solution.