En lugar de UpperCase hay que usar AnsiUpperCase, ya que la primera no trabaja con letras acentuadasy eñes.
Por otra parte, recuerden que eso no impide que alguien pegue texto en minúsculas sobre el control.
Una opción es alterar el control de edición que usa el DBGrid para aceptar datos, tal como lo puse
aquí.
// Saludos