htmlspecialchars html kodlarını engellemek içindir. Yani atıyorum bi yorum sistemi kullanıyorsanız, bunu kullanmak zorundasınız ki gelen yorumlarda meta refresh gibi kodlarla sitenizi yönlendirmeinler.
mysql_real_escape_string ise posttan aldığınız eviyi mysql'kaydederken veyahut veri çekerken sql injection açığı olmaması için tırnakların yananı slash koyan bir fonksiyondur.
Demek istediğim; ikisinden birini kullanıyorsam diğerini kullanmayayım deme. İkisininde görei farklı. Gelen veriyi veritabanına kaydederken bu iki fonksiyondan da geçir