Why would some programs do not work? I think all regular programs work, except for add-ons and plugins, since a 32bit plugin/add-on won't work on a 64-bit application.
The base line of the system is the same. All they did was clean up the code.
There are some changes SL in so far as the way some programs register themselves in Leopard vs Snow Leopard as far as I can see in my poking around and deciphering some error messages, depending on how deep they go with certificates etc. I think it was the same sort of thing when Leopard first came out. It really depends on how far into the system and what areas of the system programs need to embed themselves.