Using Ubuntu 10.10,it seems you need to mark for removal libaccess-bridge-java first in Synaptic, and then mark openjdk-6-jre-headless.
I ended up with a list to be removed:
ca-certificates-java, icedtea-6-jre-cacao, libaccess-bridge-java, libaccess-bridge-java-jni, openjdk-6-jre, openjdk-6-jre-headless,openjdk-6-jre-lib.
This worked but it left a directory
/etc/java-6-openjdk behind with assorted files and subdirectories within, which I isolated in a new directory. There have been no unusual effects, so presumably it is just a leftover remnant.
This left me with the Java I had downloaded directly from the Java website. However, despite having set it as default and creating the link to the Firefox plugins directory, it no longer worked. Installing sun-java6-jre and it's associated packages gsfonts-x11, odbcinst, odbcinst1debian2, sun-java6-bin, and unixodbc, via Synaptic, saw the Java plugin begin working again. Removing the link in the plugins directory and replacing it with the actual libnpjp2.so file did not work. Using a link to the libjavaplugin_oji.so files in either the ns7 or ns7-gcc29 directories in the Java installed through Synaptic did not work either. This suggests to me that to get the latest Java plugin in Firefox one can follow the instructions on the Java website, and that the integrated Linux Java of whichever variety is present is needed to run the downloaded Java, which then relies for it's operation on the files surrounding it once the plugin has been activated. While a full understanding of the code comprising Java and Linux would be required to really solve it's mysteries, perhaps these experiments are helpful in finding the reasons why two Java's may be needed in this case. At least it is possible to remove all Java as well, if anyone finds it useful to do so.