I think that I found a bug in the deleteSubCell function in EdifCell.java. When deleting existing port refs of a subcell, it first makes a list of all the EdifPortRefs to delete, then it uses the "net.getConnectPortRefs().removeAll()" to delete the list of ports. However, getConnectedPortRefs() returns a copy of the _attechedportrefs object from inside the net. Thus, the nets are never actually deleted from the net. To fix this I iterated through the remove list PortRefs and then called net.deletePortConnection() and than seems to work.
Just thought that you would want to know.
Josh