To repeat is as simple as following:
ma = mysql_init(NULL);
mysql_real_connect(ma, "localhost", "root", "", "test", 3306, NULL, CLIENT_MULTI_STATEMENTS);
mysql_query(ma, "DROP TABLE IF EXISTS t1; CREATE TABLE t1(a int)");
mysql_query(ma, "DROP TABLE IF EXISTS t2; CREATE TABLE t2(a int)");
2nd mysql_query fails with "out of sync" error because mysql->server_status is 10, that means that SERVER_MORE_RESULTS_EXIST. I did not try other statements combinations yet.
I tested with different servers, but only with latest 3.0 connector. If I skip the row, returning error in c/c, execution succeeds.
I am afraid that is even a show stopper.