Is the LHR-Milan flight on the same reservation as your LHR to Middle East flights were? Sounds like the travel agent may have used hidden-city ticketing to lower the cost.
The cancelled flights still showing is normal, the agent will move the date to the future so it does not disappear before the refund is processed. Not much you can do about it.
Yes.
I suspected as much but the agent is denying that they booked it. Would the starting point of the journey not have been Milan then?
Is there a risk as in ex-EU flights of a problem in not taking the last flight then?