Перед изменением координаты проверяй
Код:
If Image1.Left+Image1.Width + 3 < Width then Передвигать
А вообще я бы посоветовал ввести две переменные, (или можно даже одну типа TPoint) dx и dy. В них будет храниться либо +3 либо -3. И если при следующем шаге (когда прибавим dx либо dy) уйдем за край формы, то dx:=-dx (то изменяем знак). А после проверки уже просто
Код:
Image1.Left:=Image1.Left + dx
Ну и для Y координаты аналогично.
Насчет TPoint:
Это переменная хранящая в себе 2 координаты.
Код:
var coord:TPoint;
...
Coord.x:=5; // Так обращаться, ну и вообще работать с ней как с обычной переменной