Thank you for responding. Unfortunately this is shared hosting and I don't have the file permissions for /var/mysqltmp to get those answers. Tech support was no help.
I was hoping that Reportico did weird stuff when querying, but that doesn't appear to be the case.
This happens with a simple SELECT query with no parameters, constraints, temporary tables, etc. There are about 32,000 records in the "everything" query, but it happens when far fewer records are selected (~1,750).
We've been having issues with this db server in recent weeks, often getting "Too Many Connections" errors. Given what you've said about how Reportico builds SQL statements, I don't see why this would be happening in Reportico but not phpMyAdmin.
So I guess it will remain a mystery. We're in the process of changing web hosts, which should fix things.