Espero no sea tarde, pero si el problema es de parametros seria cuestion de redefinir el procedimiento, cambiando el tipo del parametro que causa el error.
Por ejemplo
Código Delphi
[-]type
DettaleArray = array of TDetalle;
function trabajar_fila(fila, columna : integer; mueve : boolean; encabezado:TEncabezado;
lineas: DettaleArray; sql:TQuery; grid_prod:TStringGrid) : boolean;
....
var
grid: array of array of TLineaOrdenProduccion;
begin
...
trabajar_fila(..., DettaleArray(grid[0]), ....);
Haciendo esto el error desaparece
, ya nos contaras como lo solucionaste.