Очевидно, не первый - значит второй или третий и так далее. То есть более одного.
"ни первый год" - это как-то не законченно звучит. Должно быть продолжение, типа "Ни первый, ни второй, ни какой..."
"не один год" - Тут смысл меняется, на "Два, три, ... и более"
"ни один год" - меньше одного года, или вообще нисколько
Более одного
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший