:-)
CALL TRANSACTION has always checked S_TCODE, it is just that the sy-subrc was set to 0 regardless of authorizations.
SE97 gives you an option of coupling exceptions based on the calling transaction -> if checked before the call you can turn it OFF. If checked in the target transaction program you can turn ON (disable the check).
The new syntax basically hardcodes these two options in the calling program.
Not using them is obsolete, but that does not mean that CALL TRANSACTION does not work anymore. It just means that you should not use it anymore without explicitly indicating in the calling transaction whether the check is wanted there or not. It forces developers to think about it and show intention.
Whether it happens anyway and SE97 is respected in the called transaction is a different topic (if the target program performs AUTHORITY-CHECKs or calls AUTHORITY_CHECK_TCODE of it's own).
Cheers,
Julius