Currently (on Firebird 2.1 and higher), Jaybird will automatically decide whether to generate SQL execute procedure or select based on the procedure type. In some cases stored procedures incorrectly contain SUSPEND, or are used in a context where the handling of selectable procedures breaks (eg spring-data-jpa @Procedure is not compatible with how Jaybird handles selectable procedures). For those cases, the automatic inference can be a hindrance.
As a workaround for those cases, add a property (name TBD) which disables automatic inference of selectability and always uses EXECUTE PROCEDURE (essentially, the behavior on Firebird 2.0 and earlier). Simplest way would be to make StoredProcedureMetaDataFactory return DummyCallableStatementMetaData if the property is set.