If these sets are part of an incremental or differential chain then they will not delete unless the last part of the chain is beyond the date (by design)
If you right click on an expired sets one of the options lets you see the dependent sets (does this show anything in your case)
I assume you are talking about disk sets that are expired, as tape sets that are expired will remain on the system until the tape is overwritten.
Also note that disk sets that are on detachable media can only expire when the disk is online and there is a difference between RDX style removable cartridges (where the expired sets only get deleted when a new job tries to use the same cartridge) and USB style detachable disks (where the deletion should take place within 1 hour of being online.)
Also just for info - "Allow Backup Exec to delete all expired backup sets" being ticked AND "DeleteLastRecoverySetsOnceExpired" set to one are actually the same thing as the registry setting is controlled directly by the setting within the BE conosle (in BE 2012 there was no console option so you had to use the registry setting)
It should be noted that this setting should ONLY be used with extreme caution / understanding of the effect as it is there to ensure that you always have at least one valid backup set of a given set of data. To give just one an example of a problem - you set retain the data for 14 days and then go on a two week holiday. After you leave the office on the Friday evening the backups start to fail and the issue is not resolved (or perhaps even noticed) whilst you are away. On the Monday morning of your return (so actually over 16 days later ) a disaster affects one of your servers - if you have NOT changed the option to keep the last set, then you should be able to restore from the Thursday before you went on holiday, but if you have changed this option then no backup (on disk) will exist.