If you call functions drupal_add_js() or drupal_add_css() in a hook_form_alter() of a custom module, it may happen that if the form is not validated it won't load Javascrpt and CSS.
You can fix this problem by adding the #after_build to your form, and then moving drupal_add_js() and drupal_add_css() in the associated function. This way the hook_form_alter() will contains form elements only, and the #after_build will load Javascript and CSS.
