Я могу использовать classid "clsid: CAFEEFAC-0015-0000-0011-ABCDEFFEDCBA", чтобы указать ему использовать версию Java 1.5.0_11
Больше нет, вы не можете, по уважительным причинам (из соображений безопасности). Смотри http://java.sun.com/javase/6/webnotes/deploy/deployment-policy.html
Существует механизм clsid только для IE для запроса "5.0_ (что-то)" в общем случае - http://java.sun.com/javase/6/webnotes/family-clsid.html. Это было введено в 5.0u7, поэтому, если у вас установлен какой-либо JRE от u7 и выше, вы получите такое поведение, в противном случае вы получите старое и несовместимое поведение.
Sun не собиралась предоставлять аналогичный механизм для других браузеров до 6.0u10, когда они добавили кучу дополнительных механизмов для выбора версий и устарели все старые, включая выборщик семейства 5.0u7. См. https://jdk6.dev.java.net/plugin2/version-selection/ для всех кровавых деталей.
То, что вы получите, зависит не только от браузера и установленной версии JVM, но и от того, какие другие версии установлены. Новое поведение по крайней мере последовательное, но оно полностью отличается от всего, что было раньше, и не полностью совместимо. К тому моменту, когда HTML-код развертывания ваших приложений будет обновлен, он сможет работать с 1.6 в любом случае.
Итак, в целом, как обычно с апплетами, все это кровавый беспорядок. Yay.