Each connection has an ID (cid), it can be any number, it doesn't matter, The first connection could have the ID 72, you would do "/scid 72 echo -s test" and it would echo to the first status window, /scid works with connection ID.
$scid(N) allow you to retrieve the connection ID of the connection ID given by N, it's not really useful in itself $scid($cid) is always $cid. it's just here for convenience, it's typically only used to evaluate an identifier on a given connection like $scid(<cid>).me returns the value of $me on that connection ($me and $scid($cid).me are equal, for example)
/scon works with connection number, /scon 2 means the second status window, always.
$scon(N) return the Nth connection's ID
$scon(0) = $scid(0) = total number of 'connection'
If you want to execute something on the last server, /scon $scon(0) or /scon $scid(0) or /scid $scon($scon(0)) or /scid $scon($scid(0)) will work
If you use /scid or /scon without a command, it just sets the active connection for the rest of the script, if you execute "//scon 2 | echo -s test" on the first connection, it will set the active connection as the second connection and therefore echo on that second status window, the active connection is reset after a script finish or by /scon -r.
If you use /scid or /scon with a command, the active connection is reset to the current connection after it executed, if you execute on the first connection: "//scon 2 echo -s test | echo -s test", it would first echo on the second connection and then on the first connection.
Watch out, /scid and /scon when used directly with a command can be dangerous:
http://en.wikichip.org/wiki/mirc/msl_injection