I just tried Ply's so far. I'll edit yours and see if I can get it working. If I can, I'll post it here.
EDIT: So it fades in fine, now, but it now doesn't fade back out. This is what I've done so far:
;Artificial Intelligence Script
;Header
desc = Music In Zone (fade and destroy when player walks outside) By Scurvy Lobster edited by Gunn3r
;Triggers
:state=0,plrwithinzone=1:state=1,musicoverride=$0,musicvolume=0
:state=1,plrwithinzone=1:state=2,timerstart
:state=2,timergreater=100:state=3,musicvolume=10
:state=3,timergreater=200:state=4,musicvolume=20
:state=4,timergreater=300:state=5,musicvolume=30
:state=5,timergreater=400:state=6,musicvolume=40
:state=6,timergreater=500:state=7,musicvolume=50
:state=7,timergreater=600:state=8,musicvolume=60
:state=8,timergreater=700:state=9,musicvolume=70
:state=9,plrwithinzone=0:state=10,timerstart
:state=11,timergreater=100:state=12,musicvolume=65
:state=12,timergreater=200:state=13,musicvolume=60
:state=13,timergreater=300:state=14,musicvolume=55
:state=14,timergreater=400:state=15,musicvolume=50
:state=15,timergreater=500:state=16,musicvolume=45
:state=16,timergreater=600:state=17,musicvolume=40
:state=17,timergreater=700:state=18,musicvolume=35
:state=18,timergreater=800:state=19,musicvolume=30
:state=19,timergreater=900:state=20,musicvolume=25
:state=20,timergreater=1000:state=21,musicvolume=20
:state=21,timergreater=1100:state=22,musicvolume=15
:state=22,timergreater=1200:state=23,musicvolume=10
:state=23,timergreater=1300:state=24,musicvolume=5
:state=24,timergreater=1400:state=25,musicvolume=0
:state=25,timergreater=1500:music=0,destroy
;end of script