First, you should be using the session_name() function; MODX can be configured not to use the default session_name defined in php.ini when creating the session, so you need to use it to find the session name.
if (isset($_COOKIE[session_name()]) {
// code here
}
Second, you can always get the current session_id with the function session_id().
Third, setting the session_id into the session data is a potential security risk. Why do you want to do this? As explained before, setting another unique value for the user in a non-session related cookie is another option, as are many others. Ignoring that, why can you not just set the session_id() into the $_SESSION?
if (!isset($_SESSION['sID']) || $_SESSION['sID'] !== session_id()) {
$_SESSION['sID'] = session_id();
}
Just make sure if this is in a Snippet it is executed before any other code (Snippet or Plugin) that expects the value to be set, i.e. place that Snippet first in the source of your Template or Resource content. Similarly, if in a Plugin, make sure it occurs on an event that is invoked before the Snippet( s ) and/or Plugin( s ) that depend on it are executed.