I think there is a difference here though. By buying cheap bikes which
might have been stolen, you can be supporting criminals which then see it as a profitable activity. If you buy a new bike you are not encouraging crime,because nobody will steal it if there is no place to sell it.
And I am pretty sure the police haven't given up on that crime, it's just easy to get away with it. When my bike was stolen a police officer came over and took the frame serial number,a picture of the bike and I do know they look around - I have been stopped on my bike before by the police who were looking for stolen bikes. It's just that those bikes can be easily packed on a truck and taken to another country,where no one will care, and there is no method to track a bike abroad, there should be a database with frame numbers that would be shared internationally.
Edit: And those charities are not just for poor people. The one where I live has all the bikes for sale arranged neatly in a shop, the only difference is that all of them have been donated, they fixed them and now they are selling them for reasonable amount of money to help people in need.