Strict i'm afraid. Its not just their rules to stop different people using tickets, but they are also obliged to ensure the person travelling has the travel documents to match the ticket for your onward entry to the other country.
You could try contacting them at ba.com, explaining. They may allow you to change it for a small fee. The sooner after booking you get in touch, the better.
Best not to risk it on the day, as if they dont let you use the ticket, you'll either not be going, or you'll have to pay for a new ticket, which on the day will be more pricey than if you sort it now!
How can your middle name be different to the name on the passport? - Surely your Passport has your middle name on, and your middle name should be that same regardless of what document it appears on?
If, as i think you are saying, you have used your middle name and surname only on your ticket, rather than first middle and surname, you will have problem. (It is quite common for this to happen when people call themselves by their middle names, instead of their first names, and forget when booking)
If you have just used your first and surname on the ticket, rather than the first, middle and surname on your passport, that is fine.
BA are one of the strictest there are. If the name does not match the passport they can/will refuse to let you fly, and you will have to buy a new ticket.