One other potential option is to DIY... you'll have to do a little research on your own to determine whether it's feasible for the 2005 STi though, and if it is, it does require a bit of work.
I went through a similar thing with a 2004 Lexus RX330. We only had a single keyfob for it, but wanted a second one. Getting it through the dealership would have cost well over $300.
I more or less followed the instructions here:
How To Program 2005 RX330 Key - Club Lexus Forums
Not sure how similar or different it will be for your car.
I bought a used transponder unit with key blank on eBay for like $30.
I got the key cut at
Broadway Locksmith for about $30.
The smart keymaker cost me like $10 on eBay.
All in all, it cost me well under $100.
The one to for unlocking your doors is here:
Program 05 STi Keyfob - NASIOC
Not sure what else you need...