See
Disruption Assistance thread - signposts and what you need to know - FlyerTalk Forums
Compensation - depends on arrival time in IAD. You should get something for the downgrade on the short haul. You may have other options, for example flying out of Malpensa and meeting up with your original flight, or flying to Rome and joining to an AA flight (for example). You have to spend some time on google flights and identifying options. Don't accept any routing you don't want, as you lose your leverage the moment you do.
BA are not liable for consequential losses but may pay if you claim. It's worth a shot.