на вскидку попробуйте поставить вместо
SysComRead( port, ADR( part1[ counter ] ), firstPartSize - counter + 1, 0 );
код
SysComRead( port, ADR( part1[ counter ] ), (firstPartSize - counter) + 1, 0 );
это все таки Паскаль на не C

может я и ошибаюсь