Note: since posting the above, I've found that there are a lot of redundant "x rdf:type rdfs:Class" statements in the triple store. I'm sure this is relevant to the problem. Consider this issue as a feature request ("ignore duplicate types") instead of a bug.
Another comment: the redundant rdf:type statements apparently result from Elmo asserting the type of already-typed classes. This is not a problem on NativeStore (for example), which evidently ignores duplicate statements, but AllegroGraph's behavior is to maintain as many copies of a statement as there are calls which add it to the triple store.
One more comment: it is my calls to manager.designate which caused the rdf:type statements to be repeatedly added to the store. Since I can't avoid duplicate statements in AllegroGraph, I've changed my code so as to avoid unnecessary calls to designate(). There is still the question of what Elmo should do when it encounters a resource with redundant rdf:type statements (of which there are many in the Billion Triples Challenge datasets, for example), but this is now less of a problem for me.
Thanks for pointing this out. The rdf:type values will now (next release) be filtered for duplicates in memory and avoid this situation.
Fixed in revision 10497 and ported to AliBaba in revision 10481.