For future reference to others: two common reasons you custom form validation callback functions might not run:
1. Your callback is in a library, instead of a controller or MY_Form_validation, where it belongs
2. The form field for your callback is empty: your callback will not run if in MY_Form_validation; instead, use the built-in ‘required’ function
Hope to save hours of debugging for others. The 2nd issue was very subtle, since my callback worked inside a controller, up until it was moved to MY_Form_validation.