Apparently ROBLOX only allows local scripts inside of the player to use the events such as .Ended and .Stopped.
I'm not trying to detect if it's paused or played. Only if it's stopped.
TimeLength and TimePosition only works with local scripts also.
Is there anyway I can use a serverscript to detect this?
Simply, No.
The only way to do it, as adark correctly suggested, is to have a LocalScript listen for it and then fire a RemoteEvent
when it is done. Depending on what you want to do after it is finished, you may either not need these events or not need to use a regular Script.