Are you using a middle initial rather than a middle name or perhaps an initial which does not match your middle name?
The best is to ticket (as well as for hotel reservations) under just the first and last names. E.g. John Henry Smith is ticketed as John Smith, not john H. Smith.