Give user empty form on form validation error
I was able to unset the value from within the form validation function. In my case the element is named foo and it only validates if it's set to bar:

function mymodule_myform_validate($form, &amp;$form_state) {
  if ($form_state['input']['foo'] != 'bar') {
    unset($form_state['complete form']['foo']['#value']);
    form_error($form['foo'], 'foo is not equal to bar');
  }
}


If the user enters anything but bar in foo, we set a form error and they presented with the form again without anything in the foo field.

I'm not sure how/if the form state array is affected by, for example, the i18n or locale modules, but this should get you started.