Pues en principio está bien como vos lo estas haciendo. Con una sentencia del tipo
adoquery1.ParamByName('talcosa').AsString := 'hola';
Le estas asignando el valor 'hola' al parámetro, y con Open, como ya te explique antes, lo abris...
Intentá asignar el valor del parámetro en tiempo de diseño y ver si asi es posible. Otra posibilidad que se me ocurre, es que el parámetro no soporte el uso del guion menor, pues este en sql normalmente significa una resta... ya ves, es el signo menos.
Mejor usa un nombre de parámetro con guion mayor (_) o sin guiones.
Hasta luego.