Try this to see if it helps find the problem. (untested)
Code:
 
if ingroup("Group1")
  if exist("%userprofile%\desktop\icon1.lnk")=0
    $=WshShortCut("%userprofile%\desktop\icon1.lnk","D:\Group1\app1.mde")
    ? @serror
  else
    ? "Already Exists"
  endif
  if exist("%userprofile%\desktop\icon2.lnk")=0
    $=WshShortCut("%userprofile%\desktop\icon2.lnk","D:\Group1\app2.mde")
    ? @serror
  else
    ? "Already Exists"
  endif
endif

if ingroup("Group2")
  if exist("%userprofile%\desktop\icon1.lnk")=0
    $=WshShortCut("%userprofile%\desktop\icon1.lnk","D:\Group1\app1.mde")
    ? @serror
  else
    ? "Already Exists"
  endif
  if exist("%userprofile%\desktop\icon2.lnk")=0
    $=WshShortCut("%userprofile%\desktop\icon2.lnk","D:\Group1\app2.mde")
    ? @serror
  else
    ? "Already Exists"
  endif
endif

if ingroup("Group3")
  if exist("%userprofile%\desktop\icon1.lnk")=0
    $=WshShortCut("%userprofile%\desktop\icon1.lnk","D:\Group1\app1.mde")
    ? @serror
  else
    ? "Already Exists"
  endif
  if exist("%userprofile%\desktop\icon2.lnk")=0
    $=WshShortCut("%userprofile%\desktop\icon2.lnk","D:\Group1\app2.mde")
    ? @serror
  else
    ? "Already Exists"
  endif
endif