Потому что, когда копируешь исходники из интернета, надо быть внимательнее. Первая же ссылка в гугле по примеру использования scanline дает (
http://edn.embarcadero.com/article/29173):
	Код:
	type
  TRGB32 = packed record
    B, G, R, A: Byte;
  end;
  TRGB32Array = packed array[0..MaxInt div SizeOf(TRGB32)-1] of TRGB32; 
  PRGB32Array = ^TRGB32Array; 
 
Тут используется 32-битный пиксель (с прозрачностью), но это не принципиально. Смотри на описание типа массива.