Non è un bug, anche se appare come tale. Semplicemente il cin va in errore.
Si può risolvere così:
codice:
        #include <limits> // per numeric_limits<std::streamsize>::max()
	int scelta = 0; //definisco e dò valore alla variabile scelta
	do{//open do
		//uso un solo cout per ordine personale
		cout << "1 - continua" << endl
		<< "2 - esci" << endl << endl
		<< "Scegli > ";
		//prelevo il valore dalla tastiera
		cin >> scelta;
		if (!cin) {
			cin.clear(); // toglie l'errore
			cin.ignore(numeric_limits<std::streamsize>::max(), '\n'); // ripristina cin
		}
	}//close do
	while( scelta < 1 && scelta > 2);
P.S
Io consiglio di lasciar perdere le beta per il momento.