The formatData() method can only format dates for those fields in $this->fieldspec which are actually identified as dates. If you are bringing in fields from other tables via a JOIN then those fields will not have any entries in $this->fieldspec, therefore there is no information on how they should be formatted.
The solution is simple - insert code into the _cm_changeConfig() method to temporarily add the fields you want formatted using code similar to the following:
$this->fieldspec['date_field'] = array('type' => 'date');