Hi there. Thanks for the heads up on this request for support.
Regarding these two EOT types:
eot_del_type: ipn-cancellation-expiration-demotion
eot_del_type: auto-eot-cancellation-expiration-demotion
These really are both the same thing, but are classified separately for one reason only.
An “ipn-cancellation-expiration-demotion“, is an EOT demotion (or deletion, based on your EOT Behavior setting) that occurs due to a cancellation and/or expiration of a subscription plan, where the cancellation should occur immediately (i.e. during s2Member’s processing of the IPN itself). This is the case, for example, when a subscription is cancelled and/or expires due to it reaching max failed payments (this usually dictates an immediate EOT, access is now revoked in most cases, and there is no need to calculate any remaining time).
More the norm:
An “auto-eot-cancellation-expiration-demotion“, is an EOT demotion (or deletion, based on your EOT Behavior setting) that occurs due to a cancellation and/or expiration of a subscription plan, where the cancellation should NOT occur immediately (i.e. it does NOT occur during s2Member’s processing of the IPN itself).
Instead, this type of EOT is handled as part of s2Member’s Automatic EOT System (powered by WP Cron), where the EOT occurs at the correct point in time, based on a multitude of factors; like what was originally sold, whether it included a trial period, if the cancellation occurred during the trial period, etc, etc.