Hi all,
Regarding to the script in the first post here: http://forum.unity3d.com/threads/42116-lava-flow-along-texture which generates and seeds the particles by using a texture map, I have somehow the same question in that post…
As this code will give us a flat vertical group of particles at the end, if it would be possible to just rotate it horizontally, it would be just enough/fine for me, but I found it impossible after testing many many methods because the group of generated particles have no transform at all and there is no way to assign it on a surface, at least for me! So I’ve posted this new thread as the previous mentioned post seems to be dead, and I’m sure you can find a way to solve this.
I think that if we come to a solution it will be so useful for many others to use it in their projects 
One of the things I am working on is a realistic shock wave effect. To do this, I was considering generating a particle like system that would fall on the same plane as the shockwave. I realize this is not what your asking for. I looked over the particle system real good and it was pretty hard to figure out how to make it only sit on one plane like that, let alone be orientated to that plane.
How does this help you, I dont know. How it helps hte OP would be that you use the same theory on particles, except you give them a depth.
Say you have particle A, he is supposed to start at the top of the volcano, and head down the slope away from the center at a rate determined by the slope. So his position is (X,Z) 10, 10. So you do a Physics.RaycastAll from Vector3(10,5000,10), go through the hits and find the one that corresponds to the volcano. The hit registers a normal, so you do a Vector3.Angle(Vector3.up, hit.normal) to get the slope angle. (You could also get the y degree on the slope, so you could control how the “particle” is supposed to fall instead of saying it is always going away from the center.) OK, now we have a hit and depth, so the exact point of the “particle” is ray.GetPoint(hit.distance - depth)
Do this for how every many points you have and you have a grid. Use the grid to build a mesh.
Next frame, add whatever (X,Z) movement based off of the direction and slope and you have a flowing lava fall.
This whole thing can be done with blobs created in a 3d program. Go through all the faces and vertices and figure out which vertices are your edges, those have a depth of zero. The rest could be static or random.