Currently, in the end of NextResultSchemaOnly we read ReadyForQuery if and only if there was even a single non-prepared query. This is because we have an optimization, where we don't send a query if it's prepared and instead return all we need from cache.
The problem is, non-prepared check is done at the end, at which point auto-prepare might have marked that query as prepared. Instead, we should do that check at the end of each non-prepared query if there are no other non-prepared queries afterwards.