Yeah, in what I thought was the default version of the Cao Bằng model, there would have been only a short period where PIE had /ɠ/ but not /ɓ/. It would have been first /ɓ/ > /w/ and/or /m/ and then /ɗ/ and all other implosives > /d/, etc. I seem to recall reading that there are examples of /ɓ/ unconditionally leniting, but I don't remember any examples and could be wrong.
Even still, it's a weakness of the Cao Bằng model that it can't explain the absence/infrequency of *b < **ɓ without additional provisos. I was thinking recently about Beckwith's voiced fricative (or affricate?) model, which has the advantage that it explains the *b gap. If the so-called mediae series was *β, *ð, *ɣ, etc., then it's reasonable that *β would merge with *w, while there was nothing comparable for the others to merge with. Is it possible that this stage happened in the middle of the Cao Bằng process? i.e., /ɓ/ > /β/ > /w/, /ɗ/ > /ð/ > /d/, etc.? Is there any precedent for general spirantisation of implosives?
Why combine this with Cao Bằng at all; why not just start with the voiced fricatives? For one thing, it doesn't have the articulatory markedness that could explain the prohibition on roots with two mediae. This is not very strong, however, since PIE seems to have had a general trend to avoid similar consonants in roots. More points against original fricatives:
would voiced fricatives really be so marked that they would be avoided in conjugation suffixes? One might think that fricatives would be favored in these positions. Perhaps the voiced fricatives in suffixes lenited further to ∅. But there's no evidence I know of that this affected the other fricatives (*s and probably some or all of the laryngeals).
voiced fricatives don't fit with the model of Proto-Balto-Slavic where mediae are preglottalised.
Instead of voiced fricatives, we could consider a prenasalised series instead, which would answer some of these objections. So, /ᵐb/ > /m/, /ⁿd/ > /d/, etc. But, if /ᵐb/ could merge with /m/, why not /ⁿd/ with /n/? Perhaps /n/ was alveolar while /ⁿd/ was dental, and speakers didn't feel those were similar enough to merit the merger.