Оказалось, что процессор все таки стартует по внешнему ресету, но он виснет при передаче по SMBUS в самом начале программы, в цикле проверки флага занятости. Функции работы с SMBUS взяты из AN141.
Причем если старт МК происходит после сброса питания и с VDD и с VBAT, то все нормально, если же после случая описанного в первом посте, то бесконечно зацикливается.
Код
void SMB_Write (void)
{
while (SMB_BUSY); // Wait for SMBus to be free.
SMB_BUSY = 1; // Claim SMBus (set to busy)
SMB_RW = 0; // Mark this transfer as a WRITE
STA = 1;
}