Solution 1:

Why not set those "important programs" to run as services rather than as programs as the logged in user? This would have them running whether anyone is logged in or not logged in at all.