they will never charge for Facebook, ever, period.
The overhead for running that site is minimal, and they get TONS (and i mean TONS) of money for advertising. Advertisers can target key demographics based on user's information, AND cross-reference with any online activity the user has linked with Facebook - purchases, browsing history, even interactions with other users. That information is invaluable to producers, and they pay for it big time.
Facebook does not have a monopoly on social networking - but they have proven that they do it best, and were lucky enough to beat out Myspace because of that. If they started charging, people would simply use another social networking site, and once that site started gaining popularity, it would create a snowball effect - most people join these sites because their friends use them.
It simply would not be a smart business move for them. Not now, not ever. And i will happily eat my words if i am wrong, hahah.