$param=strtoupper ($param);
"SELECT * FROM usuarios WHERE UPPER(nombre_completo) REGEXP '[[:<:]]$param'"
Igual no es la solucion que buscabas pero esto te puede funcionar....
Primero paso a mayusculas la variable php.
Segundo hago la comparacion del campo rodeando lo con la funcion UPPER de manera que comparo el string pasado a mayusculas... sin modificar lo que contenga el campo.
Como la comparación se hace entre mayusculas y mayusculas no importa como se haya entrado el dato o como se consulte....
Edito: aún seria mas fino esto, si estas seguro que en la bbdd tienes los nombres bien escritos (es decir con mayuscula en la primera letra de cada palabra, cuydado con las particulas tipo "José De La Torre" o José de la Torre)
$param=ucwords(strtolower($param));
SELECT * FROM usuarios WHERE nombre_completo REGEXP '[[:<:]]$param'
ucwords Devuelve una cadena con la primera letra de cada palabra str convertida a mayúsculas, si el caracter es alfanumérico.