This seams to work properly in GF prelude 3 and JBoss 5.0.1 but have not been able to get it to work in 2.1.
Is there any special configurations for glassfish v2.1 needed to get destroy events for application scoped components?
The issue has nothing to do with Seam. It is in fact a bug in Glassfish v2.1 - https://glassfish.dev.java.net/issues/show_bug.cgi?id=6442 - a bug in very basic functionality.
Upgrading to v2.1.1 (though not stable release yet) fixed it.