Arduino Micro String Doesn't Work

I have an Micro connected to an ESP8266 WIFI module and i'm getting some spooky behavior. When the code come to the point where it sends an HTTP request the feedback I see is that the request String is empty. This doesn't make any sense because the value is set just a few lines above. I'm wondering if there is some interference between Serial, Serial1, and String. Thoughts?

//create the request command
 String sendcommand;

 do {
   sendcommand = "GET http://"+ domain + path + " HTTP/1.0\r\n\r\n\r\n";

   //send 
   Serial1.println("AT+CIPSEND=" + String(sendcommand.length()));
   Serial1.flush();

   //debug the command
   Serial.print(sendcommand);
   Serial.println("AT+CIPSEND=" + String(sendcommand.length()));

 } while( sendcommand.length() <= 0 );

The above code gives this output to the console. Notice Serial.print() is skipped and sendcommand has a length of 0.

AT+CIPSEND=0
AT+CIPSEND=0
AT+CIPSEND=0
AT+CIPSEND=0
AT+CIPSEND=0
...

Any idea what is going on? This is starting to drive me mad!

Have you looked at the below for potential issues noted?