That's not why it's failing. Just about everything is stored as a string in CF. Trimming only removes leading/trailing white space. If the field has any other value, it'll be evaluated by IsDate. So trimming does not buy you much here either.
What's an example of these "numeric" date values that are failing? Seems like you're trying to pass in something isDate doesn't understand.
isDefined is useless
With forms it's useful for checkboxes, radio buttons or multi-select lists. ie Fields that don't always exist.