I don't think C is strictly "wrong". But first lets explore the differences in the two tenses:
For me, the simple future tense just states an action will occur in the future.
He will be on a business trip (for some interval of time in the future).
Whereas the future perfect tense states an action will end before some time in the future. This cut-off point happens before some other future action.
He will have been on a business trip (for some interval of time in the future, but it ends before some other action)
Since the above sentence doesn't have another action in the future, it's ungrammatical. The following would be okay
John will be exhausted when he gets home because he will have been on a business trip
It's important to note that the future perfect tense does not mean the action will occur in the future. It only means it will end before some time in the future. The action could have actually started/ended in the past, present, or future, but the emphasized point is that the action ends before the other future action being compared to.
Anyways, the problem with combining "until" with "will have been", comes down to operator scope, the phrase which is being modified by the construction. For example:
[I will be in Tokyo] until tomorrow
The scope of "until" is "I will be in Tokyo"; until is applied to that whole phrase.
The "will have been" construction works like:
He will have been (...), so he will not be able to complete the sales report as scheduled.
The "until" construction works like:
[...] until the end of the week, so he will not be able to complete the sales report as scheduled.
Here is a sentence that is good English to me, and this is how I would parse it. (...) indicates the scope of "will have been". [...] indicates the scope of "until".
He will have been ([on a business trip] until the end of the week), so he will not be able to complete the sales report as scheduled.
A problem happens when (...) becomes too long. Basically, the "will have been" operator gets weaker and weaker as the sentence goes on. Eventually the scope of "will have been" will end. Look at the following sentence which is awkward English:
[He will have been (on a business trip to Tokyo, where he will also meet his in-laws)] until the end of this week, so he will not be able to complete the sales report as scheduled.
Because the clause is so long, in my mind I don't include "until the end of this week" in the scope of "will have been". And the above sentence structure doesn't make much sense in English because "until" always takes an action that has a duration. But the future perfect tense is describing a single point in time.
To summarize:
- It is okay if "will have been" operates on a phrase containing "until"
- It is awkward if "until" operates on a phrase containing "will have been"
Best Answer
This says that at 12:45, the subject will stop what he was doing and start to have his lunch.
This says that at 12:45 the subject will be engaged in having lunch, he may have just started, he may be nearly done, we don't know.
Looking at the schedule, he'll have lunch at 12:30 and continue until about 1 o'clock, so at 12:45 he will be having lunch.