Perchè non provi così:SELECT IF sarebbe perfetto, se solo eseguisse anche istruzioni e non gestisse SOLO un dato da restituire..
Codice PHP:
$sql = "UPDATE utenti SET
username = IF (utenti.Ragione_Sociale = '', Cognome, utenti.Ragione_Sociale),
password = MD5(Codice) WHERE
(username IS NULL OR username = '') AND (password IS NULL OR password = '')";