У меня была проблема с getUser, дело было в том, что данный метод проверял гетовые параметры и сессию на наличие пользователя, если этих данных не находил, то все последующие вызовы возвращал 0, до следующей инициализации класса.
Возможно это не ваш случай, но всё же.