Here is the status of #7922.
As I noted earlier, the timing issue is apparently fixed by
making _weight_multiplicities a cached method, and the
caching can be removed from product_on_basis.
Nicolas has a patch called trac_7922-review-nt.patch.
Some of his comments can be implemented, others not
I've had this problem too. The bug is actually that posets determine
whether there is a top element by converting the element returned
by ._hasse_diagram.top() to a boolean. If that element has boolean
value False (as is the case in your example), then Poset.top() returns
None.
I filed a ticket