I can't confirm this behavior. I can connect, disconnect, and then reconnect.
You may be running into an issue with this which needs the monitor to be open.
while (!Serial);
In this block of code I would add a millis() timer or some delay() so that the values are not sent over and over again in a tight loop. There is probably some message spacing built into the BLE core, but it's best not to spam the central.
while (central.connected()) {
IDString.writeValue(ID2);
IDChartest.writeValue(ID);
}