GRRR!! just wrote a massive reply on this only for my internet to blot out and lose it!!
I have found the item dropped data for you MadMunky, so you can use the code correctly. (although you'll have to do something specific for Books of Skulls as i end up hacking the Zendick drop code!! ... which means my method there matches the one you are already using... using the form ID)
In the BEXT file it's at $161EC and is $62 bytes long (it is immediately before "mary had a little lamb" etc)
You can now code it 'correctly' and the data looks like this:
56565251535017171A186019345351505656181A182020523518531A19171861515022502E5256253153552255512E52515650533B5652295550513654181A1819171A37635251545553565450525051535550525451181850561A181A181A186200
As an example, the first few bytes: $56 $56 $52 , relate to two chromatic keys, then a serpent key, dropped by an elf, a ninja and a dragon.
If you remember fro reading the monster data, each one had a 'type':
Type 0 - normal
Type 1 - normal with spells
Type 2 - Drone
Type 3 - Drone with spells (i.e. set bit 0 = spells)
Type 4 - Shooter (Arc Bolt Machine)
... The monsters who drop things are all appearing in my editor as Type 8 (it calls them 'invalid') ... perhaps really its a case of (i.e. set bit 3 = drop object?) - I've checked and these match up with the object codes above.
I haven't extracted this data yet, because i need to test the preceding bytes, but from experience i suspect they are 'offsets' to how far into the object list each Dungeon begins:
00 00 - 00 0E - 00 20 - 00 45
These would mean the Chase dungeon started at an offset of $0E, which would be object: $51 .... i will have to check this!