I think a component in a service oriented architecture would lend itself more cleanly to reimplementation, with less chance for "Second System Syndrome", because you still have an api contract you are responsible for.
I think a "released" software, like those you mentioned, would be somewhat more likely to become a stereotypical "second system".
I think a "released" software, like those you mentioned, would be somewhat more likely to become a stereotypical "second system".