Есть ли вероятность повтора одой цифры в данном коде?
Конечно, вероятность есть. Как уже писали, нельзя сравнивать со следующим пустым значением.
Думаю, лучше сделать так:// Необходимое количество случайных чисел
$limit = 4;
// Максимальное значение случайного числа
$max = 100;
// Массив, в который складываются случайные числа
$numbers = [];

// Запускаем цикл
while(1) {
	// Генерируем случайное число
	$random = rand(1, $max);
	
	// Проверяем, есть ли уже такое число в массиве-результате
	if(!in_array($random, $numbers)) {
		// Если такого числа нет, добавляем его в массив
		$numbers[] = $random;
	}
	
	// Если уже набрали нужное количество чисел - выходим из цикла
	if(count($numbers) == $limit) { 
		break; 
	}
}

var_dump($numbers);
есть. Но по сути у вас и не проверяется на уникальность. 
что делает проверка if ($randNumber[$i] == $randNumber[$i+1]) { ??? сравнивает с пустым значением? Чтобы обеспечить уникальность, вам необходимо сделать двойной цикл: основной для генерации и внутренний для проверки уникальности.