it doesn't seem like the Results of the Class Method are coming back correctly 100% of the time.

This is VERY strange, I would add a test/check if an error occur testing SQLCODE and %msg after &SQL() to see if/when/why it fails.

When using embedded SQL you are not supposed to check/access a returned variable (ExtDisplay in your case) before checking for success/failure via SQLCODE variable.

If you need to check if the query found a row, you should check the SQLCODE value, not ExtDisplay  value.

Stream compression is enabled by default since version 2021.2, see release notes:

Saving on Storage

Stream compression – is now on by default for all globals-based stream classes, with no application change required. Existing data remains readable and will be compressed upon the next write. Experiments with real-world data have indicated compression ratios ranging from 30% for short texts to 80% and more for XML and other document types.

Please check the relevant documentation:

Executing Stored Procedures

I've asked the DC AI chat bot and the answer is worth a look:

https://community.intersystems.com/ask-dc-ai?chat_id=1920

Note that using SQL Server ODBC you probably do not need to specify "IOType" in the param array.

If you still have problems, get back with a sample code of what you are doing.