Reuse of output key P=H(rA)G+B (which effectively burns fund) could potentially occur if the same random r was used in multiple transactions to transfer fund to the same recipient (A,B) , most likely due to the use of bad pseudorandom number generator. Is it feasible to introduce an additional checking step so that the second transfer reusing the same P simply gets bounced, pretty much like how key images are checked to prevent double-spend? I heard somewhere that output keys are stored in an array instead of a hash table; will this make the situation a lot harder than it is with key images?

P.S. This question arose in the context of the possibility of one-time receiving address, a nice bonus that provides privacy even outside the blockchain and can be easily implemented if this reuse checking is available.