The OP has the correct answer to the question.
Since A has died before B (thus, B can't have heirs yet), there is no one to pass the estate to, so O has a reversion in FSA. There is no perpetuities issue because B is a life in being at the time of the conveyance.
B's heirs HAD a contingent remainder. Some jurisdictions would destroy this contingent remainder once the estate reverts to O. In jurisdictions that do not destroy contingent remainders, this would resurface as a springing executory interest in B's heirs once they are ascertained.