That's a long post about a few inches of legroom, for sure!
You're right though - it's frustrating when BA don't inform you of the aircraft change. Download the MyFlights app to combat this. It will tell you of any changes within an hour or two of them happening.
Once you check in and print your boarding pass, that's it - seat number locked in. The trick is *not to print or download the boarding pass!* On the app at least, you can check in without downloading the boarding pass, and then review the seats once more as you enter the airport. Only then, pick a seat.
BA swap their A319/20/21s around a lot, as it helps with the flexibility of their operation. The problem is, once you start buggering around with six people's seats (Row 10 in your case), you then have another six people to bump from what is now the exit row. What if they're in a party, or have kids with them, or anything else that means a seat change is going to be a headache?
This is all part of the "game", and perhaps it shouldn't be so much a game - but hopefully a couple of tips there will help in the future.
Also - 1A is not always the front row on short haul, as 767s begin at 2A...