Во-первых ... ваше соединение, вероятно, даже не запускается, пока не доберется до mainRunLoop, и здесь также обрабатывается анимация прокрутки.
Я столкнулся с той же проблемой и исправил ее, сказав, что соединения должны запускаться сразу после создания.
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:wrapper.request delegate:wrapper];
[connection start];
В процедуре завершения, где вы получаете изображение и устанавливаете cell.imageView.image для полученного изображения, вы должны проверить, принадлежит ли эта ячейка одной из ячеек, отображаемых в данный момент в таблице ... и если поэтому вызовите [tableView reloadData].
NSInteger itemIndex = theIndexInTheRowDataOfTheCellYouStuffedTheImage
NSArray *indicies = [_tableView indexPathsForVisibleRows];
NSUInteger rows = indicies.count;
if (rows > 0 &&
itemIndex >= ((NSIndexPath *)[indicies objectAtIndex:0]).row &&
itemIndex <= ((NSIndexPath *)[indicies objectAtIndex:rows - 1]).row)
{
[_tableView reloadData];
}