All I know is that AVR as well as ARM can be restricted as it depends on specific HW details. Other than that I can't find a valid reason (as stated before by others ) to not use unit sysutils.
That is true and that also means that there is a valid reason to provide refactored versions of sysutils since it has grown so big, too big for some HW. For arm-embedded I have a stripped down version available, but I hesitate to publish it, since Ialready gave it to some forum members, one of whom did not understand that more than a few calls are necessary left out: IOW then you have a support problem for beginners and intermediates.
I also object to declaring a string as plain "string". That depends on {$H+/-} and other compiler directives, like {$mode delphiunicode}. Specify your string type to avoid misinterpretation, e.g: shortstring, ansistring, unicodestring are all valid "string". If you don't know what you are doing that can be the cause of many errors.
In general, on resource starved platforms one should use ShortString.