One of the problems I see in my company is the "hero" vs. "process" mentality. We don't setup processes that any employee can handle, we just have a few "heroes" who rush in to save the day any time there is an issue. This leads to huge problems when the heroes want time off because we have no idea how they do what they do.
A sabbatical program like this would force a shift towards processes. At least I hope...
Both problems can be solved by gearing tools towards end-users rather than I.T. and allowing processes to emerge from lower-level constructs like (say) discussion threads that workers normally participate in. This would gently steer workers towards a process mindset.
I never considered it as a forcing function to make sure no one employee is a linchpin to a team though. Very interesting point.
(edit - spelling)
I think they changed their rules so that you couldn't add your vacation time to it and you had to pay them back if you left within in X months.
People felt pretty happy with the company for about a year after their sabbatical, and didn't want to leave for about 2 years before their sabbatical (and miss it).
Don't know why this didn't work as well for Google.
My company has been looking into implementing something similar and I'd be interested in reading more. Thanks!