Ну думаю надо объявлять так:
Код:
type
TMyThread = class(TThread)
private
{ Private declarations }
protected
procedure Execute(x1,x2: String; nomer: integer); reintroduce;
public
constructor Create(x1,x2: String; nomer: integer); {overload не нужен}
...
Overload нужен только там, где надо объявить две или более функций с одинаковым названием.