Parece que tienes una columna con botones en tu grid.
La referencia debe ser al cursor o tabla que es recordsource del grid. Por ejemplo:
lcCursor=This.parent.parent.RecordSource
lcOrden = trim(evaluate(lcCursor+".orden")) && acá supongo que el campo de la Columna 1 se llama "Orden"
&& además supongo que es caracter por el Alltrim() que pones.
DO FORM frmordenes2
En este form frmOrdenes2, supuestamente te basas en la posición del puntero en la tabla del grid.
O tal vez pasas un parámetro que aquí no has puesto.
O estás tomando m.lcOrden como variable PRIVATE y resulta visible desde frmOrdenes2. Si es así, trata de respetar la encapsulación:
<Click_Botongrd>
local lcOrden
lcOrden = trim(evaluate(This.parent.parent.RecordSource+".orden"))
do form frmOrdenes2 WITH lcOrden
</Click_Botongrd>
En el form frmOrdenes2 tienes que hacer un cambio:
<Init>
LPARAMETERS tcOrden
Addproperty(thisform,"Orden",tcOrden)
</Init>
En frmOrdenes2, donde uses la variable m.Orden, reemplaza por Thisform.Orden
Apostilla:
No es buena práctica usar el prefijo "frm" para el nombre de los binarios (scx,sct). Cuando tengas muchos formularios, será una penuria encontrar alguno. Mejor, usa la propiedad Name de cada form para ese prefijo.
En cambio es absolutamente recomendable usar los prefijos para designar las variables de memoria y los objetos de form o de clase.