Столкнулась с тем, что при использовании Db::getInstance()->ExecuteS($query), Db::getInstance()->getRow($query) или их братьев с выборкой в случайном порядке, порядок раз за разом почему-то совсем не случайный! оказалось, что для методов DbCore, есть такой чудесный параметр как $use_cache, который по умолчанию, конечно же, true! Поэтому, при использовании подобной конструкции Db::getInstance()->ExecuteS($query, true, false) все становится на свои места :)