UPDATE: Based on the advice from the commenters, I've found a way of adjusting my SPROCstored procedure so that I can utilize the TEMP MEMORY table, but be able to explicitly DROP it at the end...
Rather than just calling the SPROCstored procedure and using the remaining TEMP table to gather the results in the actual query, I've changed the CALL format to use a third OUT variable like so:
... then within the SPROCstored procedure, I added a second IF tier = 0 at the very end with the following:
So the result of the SPROCstored procedure is now a comma separated list of ID's that is compatible with FIND_IN_SET, and so the final query was modified so that: