Yes that's the area I'm really interested in, too
[ATTENTION: real-life political economy in next few paragraphs! Scroll down for actual game-related discussion xD]
First, what is a currency/money? It should be a tool/means for easier exchanges. The point of money is to allow exchange of goods and services on the 'abstract' level, so that you pass the barrier of the need to meet only the people having the exact good/service you need. In other words, it's envisioned as a step forward from natural exchange, where you need boots and have crops so you find a shoemaker and give him certain amount of your crops for the new boots. In natural exchange the 'bad' side is that the one that has what you need might not be interested in what you have to offer in exchange. So the money gets in as 'intermediate' good: you exchange goods/services for money, so that you can find any shoemaker and then exchange your money from his services. The underlying logic is that all goods/services can be seen as the certain multiplication of some
base value. Political economy has spent centuries arguing what that base value is. But I'm the follower of an idea that says that the base value is
labour that one 'inserted' into the product. It usually comes down to work hours spent in producing something.
So, for example, if a shoe costs $12 and bread costs $1 it means that in making a shoe one has spent 12 times more hours than the baker on making one piece of bread. That is what the money relates to (at least in one of the most accepted approaches in political economy).
However, that also introduces one economical paradox which causes many problems: the surplus of values.
If the shoemaker and baker spent 12 hours each, we'll have 1 shoe and 12 breads. It's total of 24 hours of work. However, when we add money to the community where baker and shoemaker live, we actually add
some more hours of work! In other words: if we just
add $24 to their community, then we have 48 work hours circulating in that community (12 hours of shoemaker's work, 12 hours of baker's work and 24 hours of money's value). That kind of 'surplus value' came out of thin air.
That's where the 'standard' is introduced (on logical level, not so historical though) - we have for example a 'gold standard' which means that there is some 'stack' of gold that is
not in the circulation but serves as 'guarantee' that the value of money really rests on something (in this case, on the work-value of the gold itself).
Now, one of the most known problems is inflation. It happens when the money 'loses' it's value: when there is
more money banknotes (and supposed work-value in them!) in the circulation than what's their
actual 'foundation' in the standard (gold, for example, or foreign currency in the National Bank for some nations nowadays etc.) Happens for various reasons. For example, I come from a country that had one of the worst inflation (during the 90s) - the National Bank was printing banknotes so fast (for their own reasons, not of the essence now) that the merchants kept rising the prices of their goods/services so much, that if you get paid in the morning, in the evening your cash was worth less!
[BACK TO THE POINTS RELATING TO GAME DESIGNING!]
So that's how we also get inflation in games: when money comes out of thin air - without 'foundation' in some other value. Inflation ingame is not only a thing that
sounds bad, but it also means you might need to edit your database tables to accept longer INTs or make your textfields ingame bigger so that they can accept more characters when displaying the money (on player's hands, sell or buy prices etc.). Also, if your newbie starts with some set amount of money, it also means each new player starts with
lower buying power! I'd also add my own disgust with having the items ingame that actually are not needed, and it means in this case: if there is no item cheaper than 100,000 and no possibility to make any real change ingame with 100,000 money, then you might as well remove 5 zeroes right away from any money display ingame and you won't see a thing changed for worse.
So, I think there are only 2 ways to solve these problems:
1. Make that nothing, or the least you can allow, comes into the game without having something else spent. That can be achieved in 3 ways:
1.1.
Have no set currency ingame. That's my current approach: I only have 3 types of resources (Energetics, Solids, Fluids) that are gained in various ways but all including at least spending some Action Points (or Turns, or Moves or Actions whatever you call it in your game); you then exchange these resources for other things ingame. Of course, ActionPoints regenerate during the day, so they actually do come out of nothing. Thus it's not a perfect solution. The good side of it is that if player doesn't actually play, he gains nothing (doesn't accumulate ActionPoints over daily maximum) and it still means he has to 'do' something ingame (spend APs) to allow for regeneration of them. Still, players will value their items over how much resources (or: APs) they've spent in making them, so there we have some 'foundation' of exchange values.
1.2.
Set some maximum amounts of items that player can have (like your mentioned crops). It will turn player's attention to spending APs (turns, moves, whatever) into direction that will probably generate conflict and thus the need to 'use' some of the maxed items and in return build them again (more spending). If you have a 'cap' on the available maximum of all possible items, you must make sure players will go into spending them. If there's no real reason to spend items once you have the maximum amount, then they'll lose interest. Good side to this system is that all players know what the maximum is and can make strategical decisions, and also helps new players to understand the power relations (they can surely know who is the 'strongest' or 'richest' because they have exact way to check it). I do have some items with maximum allowed amounts set.
1.3.
Make the game so dynamic that players are driven to spend the resources instead of accumulating them. Instead of setting maximum amount of items one can have, we can give certain 'bonuses' or some 'extra' items to players that actually risk and spend stuff. The 'extra' that comes into game out of nothing is still gained due to doing something that promotes gameplay and changes in power relations (which I see as very important in any game) and is thus rewarding the ones who push forward and give reasons to others to play more actively.
2. Set the engine to control the amount of money/credits ingame. This can be achieved in 2 ways:
2.1. Set total amount of money at the start of the game. Each player is given a portion of it. To gain more you have to have someone else spending some, or you can steal it for example. If planet is buying player-made items and sells it's own items, the prices must be tied to actual economical activity on the planet: player A buys item A1 for $20 from the planet and now planet has $20 more so it can rise the amount of item A2 on requests or pay more for that item without rising the amount it requests; when a player B sells an item B1 to planet's request, planet has less cash at hand so it can rise the price of the item B2 that it's selling or put more of that item on sale. (The amounts of items on sale/buy should be kept in balance too, but that's another issue that can be treated similarly to this one). The issue of new players getting set amount of money means that some money has to be lost somewhere in order to keep the value of it at the same level. It might be done by lowering/rising (depending on scenario) the prices on sell/buy orders on planets, for example. Good side of this is that it also promotes conflict (can have more only if you make someone else lose some!). However, even if I wouldn't say so, someone can claim that such game economy is either too complicated or too non-profitable for a player. Id' say it would be reasoning of a player that was playing too much of those games that suffer from inflation, or that he just likes hoarding stuff instead of risking them. Point is that the profit is actual in this system: not only that you gained something, but it also means your enemy might have lost a bit.
2.2. Make total amount of money in the game dependable on some other factor. It might be dependable on used APs (turns, moves...) or you might put taxes/fees on come activities like mining, trading etc. and thus keep removing some money from the game in the same time. Also, trade action might not actually 'take' cash from player, but can rise the total (hidden) amount of available money ingame. At that point it's like an addition to previous system (2.1.).
Looks like there's no simple solution to 'money problem' but I think it's worth the hassle to try to find a way to remove inflation from the game even before it goes live.