It worked for me (2017.2.2 on Windows):

C:\InterSystems\Ens172\bin>CSESSION ENS172 < c:\s\try.script

Node: TIN, Instance: ENS172

USER>zr

USER> ; Test routine created by try.script file

USER> w !,"This is written by INT routine ",$t(+0)

USER> w !," which is created from a script injected to csession."

USER>zs MyBootRoutine

USER>d ^MyBootRoutine

This is written by INT routine MyBootRoutine
 which is created from a script injected to csession.
USER>; Clean up

USER>zr  zs MyBootRoutine

USER>h

C:\InterSystems\Ens172\bin>

Maybe your indented script lines (the ones to insert into the routine) aren't starting with $C(9)

Make your script create an INT routine and run it. Example try.script below. Your lines of code either begin with the TAB character or with a label followed by TAB.

zr
    ; Test routine created by try.script file
    w !,"This is written by INT routine ",$t(+0)
    w !," which is created from a script injected to csession."
zs MyBootRoutine
d ^MyBootRoutine
; Clean up
zr  zs MyBootRoutine
h

It sounds like you're seeing the same value in the "License Id" column as in the "ID" column. So I guess your Cache was installed with Minimal security and you're not requiring Portal users to supply credentials, right?

It's my experience that when CSP users (e.g. Portal users) have to authenticate, the "License Id" field of their CSP Session record includes the IP address they're connecting from, as well as the username they logged in with. This can be useful in working out who is using all the sessions.

The TROLLBACK command doesn't automatically release LOCKs that were acquired within the transaction. The TROLLBACK documentation is a bit confusing in this regard. At one point it says this:

Then later on the same page this text seems to say that both TROLLBACK and TCOMMIT do release locks.

Jordi, in your example:

TSTART

Do ##class(MyTable).%OpenId(<TableID>, 4) (This internally is creating a Lock +^User.MyTable(<TableID>)

TROLLBACK (This action removes the previous lock)

I don't think it's the TROLLBACK that's releasing the lock, but rather the destruction of the oref that the %OpenId method created. Indeed, if tested exactly as you wrote it that oref doesn't even get stored in a local variable, so ceases to exist as soon as the method call completes.

The old Google group isn't owned or managed by InterSystems, and previous attempts to get whoever does manage it to do anything to tackle the potential confusion etc have been unsuccessful. There are several other  posts here on DC about this. For example:

https://community.intersystems.com/post/automatic-crossposting-developer-community-google-group-user-intersystemsdc

For others, search DC for the term "Google".

Sounds like you already have server-side source control (CCR) similar to the Deltanji product from my employer George James Software. In that case, your simplest option is to get your Atelier users to connect to the server instances in the same way as they currently do with Studio.  There's no need to change your code management paradigm (and thus your source control system) as well as your editor.

I recommend you go through that Global Summit session Ben Spead referenced in his earlier comment.