Such a simple piece of functionality, you would assume it would be trivial to implement. As you might have guessed – it’s not. There has been a few hack-ishy ways outlined here but none are complete and easy to integrate into your app.
I’ve created MABLoginItems, an easy way to add the ‘add to startup items’ functionality into your application. With one line of code you can add your application to the users login items (you can also remove from login items, and check if the application already exists in the login items). MABLoginItems is released under a BSD license, you can download it here.