Probabilmente stai meglio usando la conversione implicita di MySQL:
select sum(trim(replace(col, '$', '')) + 0.0)
La conversione silenziosa includerà i centesimi. Inoltre, i caratteri non numerici sono dopo il numero non causeranno un errore. Il trim()
rimuoverà gli spazi iniziali che potrebbero anche influire sulla conversione.