ここで言う"起動時"というのは、GVim起動直後の.vimrc処理時で、多分、"has('vim_starting')==1"な時の事。
なお、GVim――つまりGUI用のVimでの話であって、コンソールで使う普通の(?)Vimでは問題ない。
NOTE: This function must not be used in a startup file, for
the versions that only run in GUI mode (e.g., the Win32 GUI).
しかしどうもinput()だけの話じゃ無いようで、以下の関数が使えなかった。
input()inputdialog()inputlist()confirm()
ユーザーに何か問い合わせる系統かな……そういう関数って他にも在る?
inputで始まる関数群はまともに動かない(空文字列とか0が帰ってきている模様)だけだけど、confirm()が曲者で、Linux(Crunchbang)だとGVimの起動さえしない。
因みにWindows XPだと、第1引数と第2引数を改行で連結した内容がダイアログボックスで表示された。例えば、
call confirm('prompt', "Yes\nNo")
とだけ書いたファイル(%HOMEDRIVE%%HOMEPATH%\test.vim)を用意して、以下のように実行すると、

gvim -u "%HOMEDRIVE%%HOMEPATH%\test.vim" -U NONE
以下のダイアログボックスが表示される。

:autocmdにするとよさげ。やや意味合いが変わってくるけれど、影響は無いんじゃないかなぁ?
autocmd VimEnter * call confirm('prompt', "Yes\nNo")
どうも、--cmdオプションで使った時も同様の問題が発生する模様(あまりきちんと調べていない)。
バージョン7.3で確認。
