Цикл for не слишком быстрый. Этот код генерирует HTML, и именно HTML отправляется клиенту. Это займет столько времени, сколько нужно для передачи (ну, если вся страница не истечет, но это уже другая история).
Я не совсем уверен, в чем причина ошибки, но могу вам сказать, что это ужасный подход. Ваш браузер должен сделать запрос для каждого из этих изображений, прежде чем он сможет их отобразить (я думаю, или он достаточно умен, чтобы распознавать, что они одинаковы, и кэшировать их?). Используйте one image и либо накладывайте его на CSS, либо растягивайте (если это один пиксель, он будет хорошо выглядеть). Это означает, что вам не нужно беспокоиться о лишних дополнительных запросах, он производит более чистую и менее разметку HTML и устраняет проблему.