Your idea will only work if the cookie contains *only* "1234".
Otherwise use a RewriteCond to examine %{HTTP_COOKIE} and extract the part you need to use in the query string.
Please study (not skim) the mod_rewrite documentation at Apache.org, and learn it well -- at least the RewriteRule and RewriteCond directives. You are about to add "just three little lines" of code you your server configuration. But those three lines of code must be absolutely perfect in every way, or unintended results may quite literally put you out of business...
If you are in too much of a hurry to do this right, then I strongly suggest that you do not use mod_rewrite -- It is quite compact, quite cryptic at the start, quite powerful, and therefore quite dangerous.
I was fairly explicit about what variables contain what values above, but my exposition did not seem to make it into your code...
There is no guessing at this. We here can help you get close, but cannot guarantee that any sample code posted here is "perfect enough" to avoid problems. Testing to verify this will be up to you.
In outline, you'll likely need something like this:
Options +FollowSymLinks
RewriteEngine on
#
# If utm_source query string has not already been appended
RewriteCond %{QUERY_STRING} !^([^&]*&)*utm_source=([^&]+)
# Extract SID from client cookie
RewriteCond %{HTTP_COOKIE} ^some-pattern-here-to-match-SID-(value)$
# internally rewrite to add SID to query string as utm_source value for all .php requests
RewriteRule ^(([^/]+/)*[^.]+\.php)$ /$1?utm_source=%1 [QSA,L]
Again, using "Live HTTP Headers" to examine HTTP client/server transactions on your site as it is right now will likely give you the information you need to confidently specify your requirements and to design a rule to meet those requirements. It will also give you some experience using the tool so that you can use it confidently while testing and troubleshooting the new code.
Jim