I have found that with older kids - money or gift cards are really the best. But I hated doing that. It is just so unimaginative. My son is 13 years old and when he began being invited to girls birthday parties, I did not know what to do. A mother of three girls told me a cute trick - tape 11 dollar bills (or how ever old they will be) together end on end. Then take a small box and cut a hole in the top. Put the roll of money in the box and let the end of the first dollar stick up slightly from the hole in the box. Attach a piece of paper that says "Pull." You can even put a piece of paper at the end with "Happy Birthday." You can add a $5 bill "to grow on." This has been a BIG HIT at every party that we have done this. The kids love it!
We have expanded this idea to many cute things, since he is invited to parties that have many of the same people. One time, we taped $12 worth of dimes together. We have also made a Christmas tree out of money, a money necklace (rolled up dollars for beads), dollars attached to cheap flip flops, etc. We even made a hockey puck and hockey stick out of dollar bills for a boy's birthday. My son and I have enjoyed being creative together and the kids that get these gifts are truly amazed. One girl said she has never taken the gifts apart, because she thinks they are so cool.