Figuring out how to raise the value of coins has been one of my foundational goals as a hack maker. The three NES games did a better job of giving the player a reason to collect coins not specifically in the player's path. SMW is an easier and simpler game than its predecessor, in my opinion, and coins are pretty much worthless to someone with even mediocre skills.
I'm also a fan of gameplay - story integration, and I'm making a hack involving a survival situation. So, without going into a ton of detail, I have made the timer a much bigger passive element. Some levels require you to take your time a bit more and explore in a not entirely linear way. Others emphasize fast action and speed. Coins are the currency used to give the player a way to increase the timer for these purposes, and thus, the player will (especially as the game progresses) come to naturally value coins and more actively seek them out. In my hack, you can press a button combo to 'spend' the coins on increasing the timer, but you have to be careful, because you will lose all your coins if you take damage or die. Also, sprinting (not running) and swimming make the timer deplete more quickly.
So, naturally, you will want to consume them as soon as possible, right?
Well, actually, you might not want to do that, because not only do coins literally buy you time, they also serve as a consumable resource. Spin jumping (which, in my hack, is higher than a regular jump), fireballs and cape spinning all consume 1 or 2 coins each. So the player will sometimes have to decide between having more time, more maneuvering/offensive capability, all the while facing the possibility of taking a hit and losing both options.
tl;dr with the use of a few scripts, rather than being a useless distraction with little benefit to the player, coins can become a seriously vital gameplay element that makes both the player and the hack designer have to value their presence and be more thoughtful about how to use them.SMWC members who have helped make Ganymede the hack I want it to be