Currently: Seats and VehicleSeats use the Disabled property to determine if a player can sit in it. The problem is, the behavior is set when the simulation begins and does not change. If a Disabled seat is set to be enabled during the simulation, players will not be able to sit in it. If an enabled seat is set to be Disabled during the simulation, then players will continue to be able to sit in it.
This code shows the problem:
while true do
wait(10)
workspace.Seat.Disabled = not workspace.Seat.Disabled
workspace.Seat.BrickColor = workspace.Seat.Disabled and BrickColor.Black() or BrickColor.Green()
end