I think that Bitcoin and some similar e-currencies have value because some participants are willing to pay for privacy.
Those privacy seeking participants have less ability to exchange Bitcoin for conventional currencies (due to identification requirements or perhaps other local laws), so they have to hold Bitcoin that they've earned until they come across something to spend it on. These privacy seeking participants are willing to buy a product or service at a premium and sell a (different) product or service at a discount, if they can do both of these things using bitcoin.
So, in the absense of any speculative hoarding, shorting or other trades, the equilibrium should be (inspired by Milton Friedman's "MV = PQ" monetarism formula, if I haven't botched it):
value of all bitcoins = number of privacy seekers * value held by average privacy seeker
value of one bitcoin * total number of bitcoins = number of privacy seekers * value held by average privacy seeker
value of one bitcoin = (number of privacy seekers * value held by average privacy seeker) / total number of bitcoins
In this model, if the number of privacy seekers increases faster than the total number of bitcoins, the value of a bitcoin should rise.
For example, imagine a web site designer using a fake name in a foreign country willing to work for less money if paid in Bitcoin and willing pay extra to a lawyer to help him with an asylum application if the lawyer will accept payment in Bitcoin. The web site owner and the lawyer don't mind identifying themselves, so they are able to exchange their local currency to and from Bitcoin. The anonymous programmer seeking asylum needs to accumulate Bitcoin for a while and then spend it to pay the lawyer. If there are enough of these asylum seeking programmers, they're going to take a lot of Bitcoin out of circulation temporarily, while they save up to pay their lawyers.
Imagine that this were the only use for Bitcoin and that there were many such asylum seeking programmers, and that they, on average, were, at any given moment, half way to saving up the amount need to pay for the asylum application. If that were so, then we the equilibrium would be:
value of one bitcoin = (# of asylum seeking programmers * cost of lawyer / 2) / # of bitcoins existing
So, why would the value of Bitcoin move toward this equilibrium? Well, if Bitcoin exchanges were offering only exchange rates valuing Bitcoin above this amount, asylum seeking programmers be able to offer less to the lawyers to make it worth their while, so they would end up holding less Bitcoin, leaving a glut of additional Bitcoin at the exchanges that nobody had any use for, so the exchanges would be inclined to compete with each other to get what dollars they could for them, driving the value of bitcoin down until it was absorbed by programmers needing to hold more of it to pay more Bitcoin for asylum services.
If Bitcoin exchanges were offering only exchange rates below this amount, programmers would have to offer their lawyers more Bitcoin to make it worth their while, which would means they would end up holding more Bitcoin while they saved to pay their lawyers, taking more bitcoin out of circulation, but would be able to charge more Bitcoin for their programming work, so Bitcoin exchanges would experience increased demand for Bitcoin from web site owners to pay these programmers, driving the value of Bitcoin up.
So, basically, some of the people who really have a use for Bitcoin also need to hold it for a while. So, the value of all of the Bitcoin in the world must be at least the value that these people are trying to hold with it.