The Meaning of Life, the Universe, and Everything.
I think it's due to the way the pickaxe's work. The ItemPickaxe checks specifically for a Block with the same blockID as Obsidian and then, if the pickaxe has a mining level of 3 (I think) It can be mined. (It's something like this. It's been a few weeks since I actually tried to work on this)
If you check the ItemPickaxe class you should see where it checks (onBlockDestroyed() I think?)
I made a Block that uses obsidian to be crafted and it can still be broken with an Iron Pickaxe. I tried to fix it, but in the long run I decided not to. If you find a solution make sure you post it here so I can fix mine as well.
NOTE: The vanilla enchantment table can be broken with any pickaxe (Similar to my problem and your problem) due to the thing I mentioned above.