En principio, ese que pones no es un LEFT JOIN. Para serlo, en MySQl debes obligatoriamente hacerlo explícito. 
En cuanto a usar JOIN implícitos... en MySQL no es una buena idea. Es preferible que uses explícito siempre.
Algo como:   
Código SQL:
Ver original- SELECT DISTINCT  
-                 per.nombre NAME,  
-                 per.apellido apelli,  
-                 per.telefono_p telp,  
-                 per.telefono_s tels,  
-                 per.idpersona 
-            FROM personas per  
-                 INNER JOIN profesional_servicio ps ON per.idpersona = ps.idprofesionalper 
-                 INNER JOIN profesional_municipio pm ON per.idpersona = pm.idprofesionalper 
-                 INNER JOIN usuarios us ON us.idpersona = per.idpersona 
-                 INNER JOIN profesionales pr ON pr.idprofesionalper = pm.idprofesionalper 
-           WHERE  
-             AND ps.idservicio = $subact 
-             AND us.idpermiso = 3 
-             AND pm.idmunicipio = $idmuni 
-             AND pr.saldo < 10 
-             AND pr.invitaciones < 3 
-             AND pr.fechultimotra = '00-00-0000' 
Estoy suponiendo la relación con la tabla "profesionales", porque en realidad no la pusiste. Repetiste una que ya habías puesto, y probablemente por eso te fallara, ya que generaría un producto cartesiano- 
En cuanto a esto:   
 quiero imaginar que no estás usando un campo VARCHAR para guardar una fecha. Eso sería una gran metida de pata... Para eso están los DATE y DATETIME.