This is new in SF 9, first I thought it's a bug because the behavior did not exist in my previous version (SF 7) but I got it confirmed by Telerik that it's not a bug and it's done by design.
Long story short, when you replace an existing file or document, if the name of the new file is different than the one already uploaded on the website, then Sitefinity 9 changes the Url of the file/document based on the new file name.
Example: http://domain.com/agenda.pdf is your current document Url, when you replace this document with a file with a different name, let's say "agenda_feb_08.pdf" then the document Url changes to http://domain.com/agenda_feb_08.pdf and all the references to the old Url will be broken, the old Url stops working without a fallback solution or a redirect.
This change in design is not a good practice at all and it was not communicated. Is there anyone else being effected by this?