I'm getting dejavu over here. Anyway, I think you'd have to create an item dropset for every item where rate == 100% on each. From there you have an array:

array[10 *N_unique_10drop_enemy_sets];
enemy->DropSet = array[GetEnemyDropTypeBasedOffHits(enemy, consecutive, kills)];
//keep track of enemy kills...

That should give you the exact NES enemy->item look up table in the ROM.

The reason "tenth enemy has the bomb" is because the first item id in that group of 10 possible items is a bomb IIRC.