Hazlo en uno:
UPDATE `users`
SET `rights` = '[PRO]', points = points - 50
WHERE
`username` = 'somename'
AND points >= 50
AND rights != '[PRO]'
Y solo verifique si tiene una fila afectada o no. Si no tiene suficientes puntos, no se actualizará, y tampoco cuando ya tenga el derecho. Esto evita las condiciones de carrera.