Editado: veo que ya te han propuesto una solución parecida a esta... Ops! :P
Si realmente necesitas llamar el execute con parámetros, entonces emula el exeute con un proceso tuyo, con lo cual sí podrás pasarle parámetros...
Ejemplo:
Código Delphi
[-]FnIdx: Integer;
procedure TMiThread.MiExecute(nIdx: integer);
begin
FnIdx:=nIdx;
Execute;
end;
procedure TMiThread.Execute;
begin
if FnIdx then
end;
El código puede tener alguna errata, porqué lo he hecho de memoria sin probarlo xD Pero seguro que entiendes la idea xD
Saludos.