(Sorry, ASG0856, I inadvertantly hit submit before finished.)
The registry permission entries you are making with subinacl are not right.
This is the key that determines whether "My Computer" is on the desktop or not (See my discussion using regedit above):
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\NonEnum
"{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
If you set this key to DWORD:0, My COmputer appears on the desktop.
To follow along with this, in order to prevent its deletion we need only block user access to this registry key. It is the HKCU registry hive that is important. By definition, this hive is unique to the user. Hence, your use of "domain\%UserName%" is syntacticly in error, (it really wants your actual domain name). In any case, with HKCU we can be even more generic in specifying user or group.
Taking this all together then:
subinacl /subkeyreg "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\NonEnum" /deny=User=D /deny=User=S /grant=Administrators=F
This "locks" any shell folder.
The rest can be handled, as suggested by ASG0856 above, by setting the read-only attribute. Use the Attrib command if you like to do this:
attrib +r \%userprofile%\desktop\*.lnk
(You could in fact use Subinacl again.)
But you are likely better off using Group Policy to deny the ability of users to make persistent changes (to save) desktop settings.
Last note: A good subinacl reference can be found here:
____________________________
Users Helping Users