Yes such thing happen if you have duplicate url's. Best way is never have duplicate URL's in your system. Duplicates URL's can be given a proper suffix to make it unique. Once you have no URL's remaining in your system you can truncate core_url_rewrite table and re-index Catalog URL Rewrites.
But in your case you can not afford to loose any Old Url then just correct you duplicate url's that you dont have any duplicate url's then reindex and everything will start working fine witout any numeric at the end. In this way neither you lost any old url they are still there pointing to new url's nor in further reindexing new url will be generated.