No, a) is correct. The modifications they are making fairly well prove that they want to do something different than what LDB was designed for (albeit similar). The long and the short of it is simple... DO NOT MODIFY A LIBRARY THAT IS NOT YOUR OWN. If you want to take LDB to make some other lib that does what you want, fine, but modifying the library at run time proves fairly damn well that you don't get the way libs work in wow and what modifying the lib will do to other users of the lib... which proves why you SHOULDN'T be modifying the lib.
They are actually modifying the lib at runtime? O_O That's a nono.
I'll try to be as nice as possible in saying, that the way you are using the library shows :
a) You are using it for a purpose it was never designed for and in a way that totally goes against the "spirit" of its logic.
b) You don't care that you are breaking the upgrade path and/or the implication of callbacks for the addons embedding LDB.
c) You really don't understand how lua works.
d) All or some of the above.
For the love of all that's good and holy, please rethink your implementation (to say the least).
Remove the first part of a.) as it was specifically designed to be used an darn near any way that anyone wanted to create a spec for (even a non-published spec). Can't comment on the rest as I haven't looked at the code but we don't want to start spreading about the phrase "using it for a purpose it was never designed for" when talking about LDB.
And again I see Arrow being a complete arsehat about things.