Okay so to actually answer the thread title — yes, people are doing this, but it's weirdly siloed. The bisimulation / process calculi crowd has been doing coinduction forever for proving behavioral equivalences, but the program analysis crowd seems to have mostly stuck to inductive lattice-based approaches (hello Cousot & Cousot, we love you).
The interesting thing is that coinduction gives you the greatest fixpoint whereas Tarski-style abstract interpretation usually targets the least fixpoint. For liveness-style properties this is actually what you want — you're asserting something holds forever, not just eventually.
There's a great Springer paper: "Program Verification by Coinduction" that implements exactly this in Coq. No intermediate program logics needed — it takes an operational semantics directly as input.