I was considering the idea of proposing a "freezing" mechanism, to prevent people from erasing their posts,
The more I think about it, the fewer arguments I find against a locking nodes older than maybe 14 days. That doesn't prevent unpopular nodes being erased within the day they got a bunch of downvotes, but they're not likely to be a big loss anyway.
it will also prevent them from correcting mistakes and improving old nodes. For example, it is useful to add a warning to an old node on module X::Y, saying that method xyz is now deprecated, or it was removed from recent releases, or its behavior has changed.
I don't see that. You can post a reply instead. Bonus: it will show up in Newest Nodes and the ticker. Much preferrable, if you ask me. If you attach the reply to the parent node of the one you're correcting, the author of that node may get an extra opportunity to notice the update, as well. Maybe that will even spawn a renewed discussion. Just updating an old node would prevent all of these.
A compromise, though one that would take much more additional infrastructure than just locking old posts - for little gain -, might be to only allow adding to the bottom (or top?) of an old node.
Makeshifts last the longest.