The problem is not using the say command, although yes I did test it in other handlers and through Terminal. The problem is that half the things I put in the handler don't work. The actual code I'm using is:
on applicationWillFinishLaunching_(aNotification)
if application "Skype" is running then
tell application "Skype" to set SkypeState to ((send command "" script name "") as text)
if SkypeState is "COMMAND_PENDING" then
ErrorWindow's orderFront_(sender)
else
my Refresh_()
end if
else
tell application "Skype" to launch
end if
end applicationWillFinishLaunching_