I was able to strip out the extra comma that are returned from PrintTimeZone so it went from this
“Paris, Madrid,-60,Paris, Madrid (heure d’été),-60;3.5.0/02:00,10.5.0/03: "
to this
“Paris Madrid,-60,Paris Madrid (heure d’été),-60"
and the ShiftDateTime() function generated the correct time for that time zone.
I believe this is a Crystal Reports bug but I was wondering if anyone else has seen this especially from SAP. It seems that how ever this string is created, there is a problem in the one time zone and maybe others but I haven't found any yet.