Hola marcosmendozaa, como te dice el amigo elkurgan, la opción que necesitas es loCaseInsensitive, en tu codigo no necesitas hacer doble vez el Locate, si el Locate te devuelve True es porque ya lo ha encontrado y se ha posicionado en ese registro.
Código Delphi
[-]
if(dm.T_deptoimpre.Locate('nombre_departamento',edit1.Text,[]))then
showmessage('Ha encontrado y se ha posicionado en el registro '+
dm.T_deptoimpre.FieldByName(nombre_departamento).AsString)
else
showmessage('No hay impresoras en ese departamento');
También tienes la opción loPartialKey que te hace una busqueda aproximada.
Saluditos