これを投稿した直後に、このアプリケーションノートを見つけました
http://supp.iar.com/Support/?note=37778&from=search+result
アプリケーションにグローバルに初期化されたデータが大量 (4k 以上) ある場合、cstartup 内の初期化は、ウォッチドッグがタイムアウトする (そしてデバイスがリセットされる) 前に終了しません。
と
The solution
The Watchdog timer must be turned off before the initialization phase. This should preferably be done in __low_level_init.
The steps (for F1610, F1611 or F1612)
Copy of the file "low_level_init.c" (from ...\430\src\lib\) to your project directory.
Add the copied "low_level_init.c" file to your project.
Edit your copy of the "low_level_init.c" file
In the file you need to add, either...
#include <msp430x16x.h>
...or add...
#include <io430x16x.h>
You should add, in the __low_level_init() function.
WDTCTL = WDTPW + WDTHOLD;