Вы сбрасываете оба счетчика при каждом клике, поэтому он всегда начинается с одного и того же изображения.
fooBarCount = 0;
counter = 0;
также они не являются статичными, поэтому они в любом случае сбрасываются в 0 при каждой загрузке страницы и показывают одинаковоеизображение, а не изменение.
Если с другой стороны проблема в кеше, потому что я не могу знать, как называется файл образа, и, возможно, это проблема здесь, тогда попробуйте что-то вроде.
imgButtnsArray [fooBarCount] .ImageUrl = imagearry [fooBarCount] .ImageUrl + "? Rnd =" + RandomNumber.ToString ();