I don't know really i was poking around but it works now i've figured it out somehow,thanks anyway.Well, its obvious why you can only use it once. You told it to.
Your condition checks the variable Tunnel1. Your trigger will only run if Tunnel1 is "false". However, you set Tunnel1 to "true" after the first cast. Naturally it will never become false again until you set it to false in another trigger. Why do you have that condition in the first place if you want to be able to cast the ability more then once?