If the SeatID is the same as saying "This number identifies a certain seat on a certain flight" then it won't work as you currently have it.
In between the Passengers and Seat tables have a table such as:
tblPassengersSeat
RelPassID, Number
RelSeatID, Number
RelFlightID, Number
Everytime you add a Passenger to a seat get it to insert the PassengerID, SeatID and FlightID into this table.
You will be able then to limit the list of available seats to only those that do not appear in tblPassengersSeat where FlightID = RelFlightID and SeatID = RelSeatID.
Please excuse if this doesn't make too much sense as I'm in work and photbucket is blocked, I'm working from what I remember earlier.