navi2chコマンドって、
(navi2ch-list)
以外は全て unless navi2ch-init のときだけにすべきなんじゃないのかな。つまり
(let ((startup (not navi2ch-init)))
  (when startup
     ...)
  (navi2ch-list)
  (when startup
    (run-hooks 'navi2ch-after-startup-hook)))
などとすべきなんじゃないかと。