Si usas el regedit de windows y vas a la clave de registro, verás como se hace lo del icono (creo tienes que escribir una clave de registro más).
1 - ¿has programado algo para que lo abra? - Revisa la ayuda de "CommandLine" de delphi.
2 - Para abrir en la misma instancia, deberás programar en tu aplicación una opción que detecte varias instancias del programa. La JVCL de delphi tiene un componente. Por código también se puede hacer,
roman tiene un componente en su
web (UIApp en la sección de componentes).
Saludos