No application currently in the market is allowed to install to the SD card. Developers have to update the apps, explicitly allowing them to be put on SD cards, then build them against the Froyo SDK and finally make them backwards compatible if they still want to run them on older Android versions.
Even then, not every kind of app is supposed to be installed on external storage. Apps that are or use the following should not be put on SD card - quoting Google dev guide: services, alarm services, input method engines (custom keyboards and such), live wallpapers, live folders and widgets. In short, everything that runs in the background / runs all the time. Why? Because the moment you dismount your SD card all processes that belong to the apps on the SD card get killed, and they don't get automatically restarted later. In Google's own words, installing to external storage is mainly for large apps, that have no background functionality, like games.