Efficient algorithm for near-optimal edge-colourings of hypergraphs
The answer below breaks your condition that you don't want serious restrictions placed on your hypergraph, but it might be of interest if only as related work. 

Your hypergraph (which I'll rename as a range space) has a corresponding dual range space (hypergraph) by interchanging the roles of vertices and edges. Your problem then amounts to coloring the elements of this range space so that a range of cardinality $r$ has $r$ colors. Let's call such a range colorful.

There's been some recent work on such "colorful coloring" problems for geometric range spaces, motivated partly by problems in sensor networks. A standard question that's asked is: 


  Given a parameter $k$ and range space
  $S$, determine the function $c_S(k)$
  such that a $c_S(k)$ coloring of the
  elements of S guarantees that each
  range $r$ of $S$ has $\min(|r|, k)$
  colors. 


Thus, $c_S(\Delta)$ is the quantity you're looking for (where $\Delta$ is the maximum cardinality of a range).

A related question is to determine $c_\tilde{S}(k)$, where $\tilde{S}$ is the dual range space (in effect, your original hypergraph). One example of the kind of results obtained is that: 


  For $S$ being the space of halfplanes
  in $\Re^2$, $c_S(k) \le 3k-2$


A good reference for this body of work is the DCG paper by Aloupsis et al, and the references therein.