Probably you won?¢_Tt get much of a speed improvement with this but a more optimized version of your code should look like this:
[pascal] srcpic.Lock(0,r0);
destpic.Lock(0,r1);

x:=srcpic.patternWidth-1;
y:=srcpic.PatternHeight-1;
PitchSrc:=r0.Pitch - srcpic.patternWidth shl 2;
PitchDst:=r1.Pitch - dstpic.patternWidth shl 2;
ScrPtr :=r0.Bits;
DestPtr:=r1.Bits;
for j:=0 to y do
begin
for i:=0 to x do
begin
integer(destptr)^:=integer(scrptr^);
inc(Cardinal(scrptr), 4);
inc(Cardinal(destptr), 4);
end;
inc(Cardinal(scrptr), PitchSrc);
inc(Cardinal(destptr), PitchDst);
end;

srcpic.unlock(0);
destpic.Unlock(0);[/pascal]