Launch app on start (even SD card apps)
I achieve on this using Tasker. For the apps in the SD card I created a profile with the context Events -> Hardware -> Card Mounted and it loads all apps I want. For the apps in the phone I created a profile with the context Events -> System -> Device Boot and it loads all apps I want.

Note: The first thing you MUST do before anything in both of this contexts is wait a few seconds. In the "Card Mounted" event is to let Android load all the apps installed in the memory (I'm guessing) and in the "Device Boot" is because after booting Android is too busy doing important stuff (I'm quoting Tasker guys).