Watchdog problems when board is powered

First at all, I want to advice I had readed all 123 pages in this forum looking for some tip to solve problems I have. I am using Arduino IDE 1.6.4 and actually I have 2 Arduino Due R3 boards.
I was able to run some examples and everything works o.k. When I disconnect my boards from COMs ports and reconnect them again, or when I powered them by a phone charger as Samsung USB 5V 2.0A or powered them by a AC-DC 12 V adapter all my sketches work well.
My problems started when I tried to program 4 LCD (1 20x4 and 3 16x2) using I2C to LCD adapters with PCF8574 using I2C SCL1 and SDA1. I added 1K pull-up resistors ( of course, I read all post concerning to SCL and SDA, RN5A and RN5B, 1K or 1K5 resistors) but I was unable to get those LCD work. I can not realize how LCD.began can make wire1.began. I was looking in LiquidCrystal_I2C library and I think I2CIO must have other I2CIO::begin calling to wire1.begin, Wire1.requestFrom, Wire1.receive and Wire1.read. I am not expert to modify libraries and I decided go back and just use SCL and SDA that worked nicely. I asked in this forum for any clue how to work I2C LCD with SCL1 and SDA1 but I did nor receive any answer.
With my LCDS working I tested unplugging from COM Port and plugging again and always my sketch started without problems.
Due I know a serious application must have a WDT I decided add this feature in my program (again, I read all post regarding to watchdog and reset) and I implemented WDT following instructions by koppels in Watchdog DUE - Arduino Due - Arduino Forum. In order to debug it, I used following code:

 #define ledOnBoard     13

int waittimer = 0;
double timeout = 2.5;  // 2,5 secondes
int timeout2 = 0;

void WDT_Setup (){ // my default time is 18 secondes
 timeout2 =(int)( timeout * 227);
 timeout2 = 0x0fff2000 + timeout2; // 0xfff2000 is very inportant
 WDT_Enable(WDT,timeout2);
 // number of loops:
 // 0x0fff2000 0
 // 0x0fff200f 231
 // 0x0fff2fff 2981
}      

void setup()
{  
  pinMode(ledOnBoard, OUTPUT);
  digitalWrite(ledOnBoard, LOW);
  Serial.begin(9600);
}

void loop()
{
 waittimer++;
 Serial.println(waittimer); // numer of loops
 if (waittimer > 10)
 { //after 10 timer, we freeze the code into an infinite loop
     for(;;); //this is a deadlock
 }
}

I leave this program running more than 2 days and works O.K. but when I unplugging from COM Port and plugging again my sketch started but after first watchdog restart it hangs. If I press on board reset button or start Serial Monitor, the program resets and continues working without problems.

When I implemented WDT in my program with LCD an leave sketch running I founded, after 3 or 4 watchdog restarts, LCD.begin to take more time and watch dog reset with finalize set function. Again, I read all post about I2C and found there is a problem with SCL in Arduino Due and I implemented a tip I founded in Forum in this way:

// Functions to Handle LCDs
//Initialize LCD 20x4
void initialize20x4LCD(LiquidCrystal_I2C& lcd) 
{
	pinMode(21, OUTPUT);
	for (int i = 0; i < 8; i++) {
		digitalWrite(21, HIGH);
		delayMicroseconds(3);
		digitalWrite(21, LOW);
		delayMicroseconds(3);
        digitalWrite(21, HIGH);
		delayMicroseconds(3);
		digitalWrite(21, LOW);
		delayMicroseconds(3);
	}
	pinMode(21, INPUT);
	lcd.begin (20,4);
	lcd.setBacklight(HIGH);
	lcd.clear();
    lcd.home();
}

With this code my program run nicely for many hours without problem until I unplugging from COM Port and plugging again my sketch started but after first watchdog restart it hangs. If I press on board reset button or start Serial Monitor, the program resets and continues working without problems.

Can anyone give a clue what happens when Arduino Due is powered. Can be a problem with bootloader? Do anybody had a fix for that?
Any answer will be appreciated

I just installed ndew Arduino IDE 1.6.5 and my problem is not solved. I really believe my problem is related to DUE bootloader.

Any idea