Gør det i én:
UPDATE `users`
SET `rights` = '[PRO]', points = points - 50
WHERE
`username` = 'somename'
AND points >= 50
AND rights != '[PRO]'
Og tjek lige om du har en berørt række eller ej. Hvis de ikke har nok point, opdateres det ikke, og det vil det heller ikke, når de allerede har rettighederne. Dette undgår løbsforhold.