AFAIK, when building the bundle, the content is hashed in order to create a unique key for it (the extra parameter in the url).
So if you are modifying its contents the hash will change since it actually represents a different bundle. The whole purpose of that is for cache busting when the content changes.
The behavior your are seeing is because bundles are not intended to be used in that dynamic way, since it goes against the idea that the bundle's content is static (and therefore cacheable).
Why not just create a separate bundle for each page? That way, the "common" bundle, with all the shared code will be cached and reused, and when loading your ABC.aspx page, you always load your "abc" bundle, that will do its own version control on the contents and not affect the common libraries.
Plus, there is an additional downside to modifying the bundle on each page:
If each page delivers a different bundle, then the client will receive all the code for your shared libraries over and over again, once for each page. Even if cached. For example: there would be no point in sending JQuery along with each page.