Rember the golden rule... write your script to follow the actions you would do manually.
event macro 25 0    = wait for target  .. try using this 
http://wiki.easyuo.com/index.php?title=TargetNow ask yourself when you caste a spell manually do you wait for a Target PRIOR  to clicking on the spell caste icon 

?
Well if you did you would be waiting forever wouldnt you.....  first you caste the spell .. then you wait for a target cursor then you target the item person object or ground...
So thats 3 steps .. caste spell, wait for target cursor,  select a target  done in that order... which is not what you are doing.
Just play with this segment until you get it working then slot it into the rest of the script
event macro 25 0
  event Macro 15 57
  wait 2s
  set #LTARGETX #charposx + 4
  set #LTARGETY #charposy + 4
  set #LTARGETZ #CHARPOSZ
  set #LTARGETKIND 2
  event macro 22 0
halt