Да, этот вариант предпочтительней, но он появился только в C++11, поэтому в GF и использовали QueryPerformanceCounter(ведь счётчик тактов - корректный источник энтропии).
Как мне кажется, главная проблема - это всё же использование остатка от деления для установки диапазона.
И, как я уже...