Opaque Black Holes are Impossible
I believe all the arguments about still lifes prove a weaker result than claimed, which is that opaque black holes are impossible. By "opaque", we mean that when two black holes meet, they merge. And the reason should be obvious after some reflection: the premise is that a BHP can "eat" everything in its path. But if two BHPs merge, then clearly, they are not eating everything.
Analysis
The problem is this: a BHP can clear its interior, but it can only do so finitely many times. A BHP must be expanding on average, or it will never achieve the goal of clearing the world state. The slow "speed of light" makes this problem especially acute, since it means it cannot make large jumps across space. Therefore, there must always exist some state which contains a BHP event horizon, and immortal junk in the interior (because whatever cleaning mechanisms the BHP has are already exhausted). We may call this state the "infinite stasis box". It is protected from all interference, because it is surrounded by a growing field that consumes anything which could tamper with it. A BHP which encounters this state is unable to consume it, because the event horizons merge. The BHP becomes its own worst enemy, because a BHP is the only thing which a BHP cannot consume.
Transparent Black Holes are Impossible
If we abandon the assumption that BHPs merge, then we end up with "transparent" BHPs, which pass through each other harmlessly (note that the behavior on contact should be symmetrical, or Bad Things will happen). The SuperNova I described in another answer is an example of such a BHP. Fortunately, a SuperNova BHP really can clear the universe...of everything except SuperNovas! And if the universe is infinitely randomly populated without bias, then there will be an infinite number of SuperNova event horizons within it, expanding forever. They will simply turn the universe into a dynamic puddle of SNs.
All Black Holes are Impossible
The root problem is that a BHP must have a memory of which region it has cleared. That's because it may only clear a region a finite number of times (by requirement 4). An algorithm without an explicit memory still has an implicit one: the "start at a point and expand outwards" simply uses the current origin + radius as the "memory" of what is cleared. It is easy to see how that memory can be corrupted. A more sophisticated BHP could explicitly encode the space it has cleared in its structure, thereby allowing it to "purge" any interior spaces that might hold junk. But an infinite plane of BHPs will contain an infinite number of BHPs with corrupted memory, including memories that "know" a particular region is clear, but still contain junk. Since any particular state may be the start state, it is impossible to encode memory in the life universe, because a "memory" is a statement about a particular set of cells, and there is no causal force which guarantees that the correspondence between the memory and the referent of the memory actually holds. Therefore, no BHP can actually tell whether it has cleared any given patch of space or not, and therefore, no BHP can exist.
===EDIT===
The Infinite Time Fractal
When I said: "No memory is possible", I was not talking about Life in general. It is well-known that Life is Turing-complete, and anyone who has studied glider guns can imagine how to construct bits of a Turing machine within a Life universe. What I was talking about is the special Life board which is infinitely large and randomly initialized without any particular bias (a uniform distribution is not necessary; any random distribution that does not explicitly exclude/prevent any particular finite sized pattern is suitable, I believe). This board has special properties.
First, this board must contain every finite-sized pattern. If it didn't, then I would question the randomness of the initialization. It means that for every opportunity it had to insert the pattern into the board, it "chose" not to, and it did so an infinite number of times. I'm pretty sure that's the opposite of randomness. Technically, to be precise, we should say that every finite pattern is almost certainly present. That is, it has probability 1, even though we are not technically guaranteed that it is present.
Second, there is no way to distinguish the initial state. This is the real problem, and what makes it fundamentally different from a sterile board containing a Turing machine. While one might claim that the initial state has "maximum entropy", that can only be true in the global sense. If it is generated truly randomly, then local regions must also contain patterns which are sparse. And these patterns will look exactly like a more random state which has been iterated $N$ times. In particular, the initial state must contain a copy of every finite region iterated through all of its distinct states.
To elaborate, an $n \times m$ region has $2^{nm}$ possible configurations, and all of the time evolutions of any of those configurations also exists in this space. In this sense, one can say that "all points of time exist in the start state". More precisely, all time evolutions of every finite size pattern exist simultaneously somewhere in the start state. This is why there are no clocks in the Infinite Time Fractal: there are an infinite number of clocks, and they read an infinite number of times. And this is why no memory is possible: there is no reliable initial state from which a memory could be established.
This is also why it is impossible to measure age: two objects with an "internal clock" can appear randomly in the initial state with readings which say they are 10 and 10,000 generations old, respectively. There is absolutely no way for them to know that, in fact, this state is the start state, and not the 10th or 10,000th generation. So even if some object initializes with a "proper" clock, the ones which are born "broken" will ultimately wreck whatever scheme relies upon the accuracy of clocks/memory.
The only way for a life board to know that a state was the initial state is to compute the global entropy. But information cannot move faster than 1 cell/generation (and gliders are more like 1/4 cell/gen), so it will take an infinite time to perform this computation. Any attempt to compute it for a finite bubble risks sampling bias.
Finite Universe
Of course, this suggests that BHPs might be possible in an infinite Life board which is only finitely populated. Whether the live cells must also fit within a finite region is an interesting open question. There is still the problem that a given pattern within a randomly initialized universe cannot tell the time. However, perhaps there is a way to reliably detect the edge of the [possibly expanding] universe, and use that as a kind of absolute reference.
>>> EDIT 2 <<<
Garden of Eden
While a Garden of Eden may only exist in an initial state, this is of no help to BHPs. The only situation we need to consider is when two potential-BHPs encounter each other. It doesn't matter if they are true BHPs, D-BHPs, PD-BHPs, or something else. It only matters if their time-evolution behaves like a BHP, clearing out everything in its path. Their response to contact ultimately decides whether BHPs are possible or not.
We already noted that transparent BHPs are impossible, because their failure to consolidate on contact means that every additional BHP increases the number of times a cell may be modified. An infinite number of BHPs thereby precludes requirement 4. More generally, any contact which is "conservative" has this problem. By "conservative", I mean that the number of BHPs after contact is the same as the number before. Therefore, BHP contact must inherently be destructive. At least one of the BHPs must die. The merge policy makes it ambiguous as to which one "dies", since they coalesce into a single BHP. The "young eats old" policy makes it explicit which BHP must die.
So as long as we have accurate clocks, we've solved the problem, right? Well, no. The problem is that you cannot make the clocks mean what you want them to mean. Suppose that a "true BHP" must be born with 0 interior cells and a clock set to 0. Thereafter, it grows, and as it grows, its clock increments. As long as your universe is initialized with exactly one BHP pattern, and it is a true BHP, then everything works just fine.
The problem, naturally, is the children (cue Back to the Future music). While it is possible to make a clock which counts time perfectly, it is not possible to make a clock which never lies. After 1000 generations, the true BHP will produce a D-BHP with a clock set to 1000. But what happens when that BHP encounters another BHP whose clock is also set to 1000? We know that they must merge, or one must eat the other. Since the counter is the only data we have to distinguish them, then one eating the other is arbitrary. The logical choice is for them to coalesce into a bigger BHP. But this only works if the other BHP started life as a true BHP. If it actually started life as a PD-BHP, with a large interior containing immortal junk, then we are right back to square 1, and the clocks did us no good at all.
The problem here is that the clock is a proxy for "cleared region memory" as described above. The value of the clock is exactly a memory cell saying: "the interior of this BHP is empty". When the clock is attached to a non-empty BHP, then the clock becomes a liar. And there is no way to guarantee that such a PD-BHP never forms in the random universe. Even worse, statistically speaking, you are guaranteed that such a PD-BHP forms...in fact, you are guaranteed that an infinite number of them form! And on top of that, that they will contain every finite stable configuration in their interior! Every possible kind of lasting junk which could populate a PD-BHP will occur. It is the worst possible kind of failure you could imagine.
Note that it doesn't matter whether the clock was initialized by a Garden of Eden pattern or not, because two different BHPs may be "properly initialized" w.r.t. clocks, but say very different things about their interiors. This is what I meant by: "there is no causal force which can guarantee correlation between a memory and its referent". The clock is a "memory" which says: "This internal region is cleared." But you cannot ensure that the referenced state is actually true.
Broken Clock
The real problem with clocks is that they stop. At least, the broken ones do. And these won't be right even twice a day. A clock must have a mechanism to advance time. A proper timed-BHP will have such a clock, which is both the "current time" value + a "time-incrementing circuit". However, I claim that for any such clock, it is also possible to have a BHP with a "current time" value + a "do-nothing circuit". This is a dead clock which never advances. A BHP with such a non-functioning clock eventually becomes immortal, because every functioning BHP eventually becomes older than it, and it slays them, one by one. And, in the Infinite Time Fractal universe, if it is possible, then it will occur, and do so infinitely often. On top of do-nothing clocks, there are reverse clocks, random clocks, probably even Ackermann and Collatz clocks. Your precious BHPs will have to contend with all of them, and it will lose.
Memory, Memory, Memory
Please note that all of these mechanisms are merely an attempt to prove that some region of space is permanently dead. And all the failure modes boil down to the inability to prove that such a correspondence is true, rather than false. There are many additional complications that a BHP would face, but at the end of the day, the absence of a reliable memory is the Achilles Heel which cannot be cured.