Commands out of sync; you can't run this command now

OSX 10.13.2
Xojo 2017r3
MySQL 5.0.87

I am trying to call a MySQL stored procedure as such:

sub function(arg1 as string)
  dim stmt as string =_
    "CALL myProcedure('" + arg1 + "')"
    dim rs as RecordSet = mSqlServer.SQLSelect(stmt)
    if rs <> Nil then
      <DO STUFF>
    end if
end sub

Which works fine, I get the record set I expect back. But the next time I try to call the above method I get a MySQL error:

Now, I know that this error relates to a problem with the order in which mysql_use_result() , mysql_free_result(), and mysql_store_result() are called. But, I presume that Xojo should be calling those within either the Recordset or MySQLCommunityServer objects. So, is this a problem with Xojo? Or any ideas about how to get around this?

I can run this procedure (myProcedure) multiple times in a row using a different client than Xojo to access the MySQL Server

Thank you

What does the do stuff code do? What if you comment that out?

I have, it affects nothing. I can literally leave it blank in there. I have also tried calling rs.close(), rs.update() (This shouldn’t do anything but worth a shot) and neither of those work either…

It strikes me that this is a problem with the Xojo MySQL interface. I am not sure what Xojo does to send a command to the server and how it gets results returned, but it seems like the problem is in there.