Hello Gaurav,
1) I believe the SUM set it's own environment variable it self during the execution, moreover, it doesn't matter from where it execute, as long as the tp is executable and it can execute the script for any location.(this is my own impression)
2) I do believe the kernel is could be the reason. I have tried with current production kernel and the future kernel, all same! May be I need to try a second round!. I will post you the update.
Thanks.