Ja MySql kann rechnen. Für mehr Details schaust du dir am besten Beispiel im Internet an, es dürfte unzählige geben.
Eine Zahl im Zahlenformat hat kein Komma. PHP konvertiert zwischen Zahl und String wie es gerade will. Das funktioniert ab und zu, oder eben auch nicht.
Eine Diskussion über Sinn und Unsinn einer so schlamperhaften Programmiersprache sollten wir hier besser nicht entfachen :-) Mit dem austauschen von Komma und Punkt machst du dieses Ratespiel jedenfalls nur noch schlimmer.
Speichere keine Zahl in der Datenbank als Text! Behandle die Zahl so lange als Zahl wie es geht. Bei der Umwandlung in Text gibst du dann an welches Trennzeichen du haben willst.