С какой стати PDO должно от чего-то защищать?
Если вы про prepared statement то, они да, могут помочь, если использовать их с умом и понимать, что делаешь. Но у меня сомнения, что вы понимаете. При чём тут пароли и md5?
Не ясно что это за запросы и в какой момент они будут происходить.
Если при каждой загрузке страницы, то это одно, а если один раз по крону ночью для сбора статистики, то другое.
Явно текстовый json будет расти намного быстрее, чем таблица на два инта.
Не знаю про Yii.
У phpunit есть конфиг - phpunit.de/manual/current/en/appendixes.configurat...
Там можно указать bootstrap, файл, который будет подключаться при запуске phpunit.
В нём видимо, нужно, прописать автозагрузку.
По поводу "как известно абстракный класс не должен содержать реализации" - может.
По поводу всего остального - грамотно составленный вопрос - половина ответа.
Наследование идёт по прототипам, конструктор только помощник в создании объекта.
instanceof смотрит .prototype у NoCar и соответственно true получается в итоге.