If the meta table is not built for searching why would you ever put functionality into the core to search off of the meta value?
Oh, believe me, if I was in charge, that functionality would not be there.
Why is it not valid to use a function that has been provided in earlier included code at the time my plugin executes its option hook?
Because the function has not been loaded yet. There are cross-intersecting concerns here. Functions use code from many other files in various ways. And yet the files have to load in some particular order. If you try to do things before the relevant functions are loaded and ready, then you're going to get errors or incorrect results. Pick your poison.
If you provide me a function it should work. If that function worked without errors in the past you should not introduce an error and then blame the person calling your provided function. There was a set variable in the old version of the function. It has been replaced by an undefined function call.
Like I said earlier, the fatal error has been fixed in the latest trunk version of WordPress, and the fix will very likely be in 3.7.1. However, that doesn't make calling this function too early capable of giving you the correct responses.
You're relying on undocumented and undefined behaviors of a complex system. There are defined and supported behaviors for functions and timing and when things are supposed to happen. And then there are side-effects. You have been relying on the fact that a side-effect worked for a very long time, but that effect was never an intended or documented behavior. So when it broke, well, I'm surprised that you are surprised.
There is no reason I can't retrieve a post once the functionality is included.
Even with the fix, you still cannot retrieve the post *properly* because the users have not loaded. And if your suggested fix of loading pluggable.php yourself is implemented, then you break other plugins that are trying to override the pluggable functions.
Essentially, you have a no-win situation. I'm trying to suggest a way for you to win the situation, and that way is to not store this information in posts or post meta, and to not use post-queries to access it. This solves your problem. I'm sorry that you don't like the solution or my answers, but those answers are not going to change just because you disagree with them.
You're free to disagree with me. I don't mind. Many do. But I'm legitimately trying to help you here by telling you ways of restructuring your code to overcome your problems and future-proof it. I'm not just being a dick. Really.