How does form API work for CCK (and other #after_build processes)?
The form API is usually doing that for you, but it probably does that before calling the after_build functions.

The #after_build functions are called in form_builder(), #disabled handling is in _form_builder_handle_input_element(), which is called earlier in form_builder().