Are you seeing textures? The UV map is there, and the images is also output. I\'m not sure the two are connected up right. The OBJ format is not very specific about how to bind a specific texture to an object.
So the way it works is this.
First I calculate all of the different block types in the model. That gives me the total number of tiles I need in the model. Most of these systems only work with rectangular images to powers of two. So I target a 1024x1024 image. In order to get the highest resolution the tiles are drawn onto it as large as possible. I take the square root of the number of blocks to get the number of tiles per edge. (And some rounding to make sure they are all even.) The, the pixel size / 1024 is the floating point number in UV terms.
So, when I emit a face, I emit the four verticies of that face. Each vertex needs to be tied to a UV point on the image. I just need to work out where that tile ended up and set the UV ordinates appropriately. This is why I output so many duplicate verticies. Since the UV mapping is different depending on if it is the left edge, right edge, etc, they have to be separate.
If you can collapse them in Blender, I think you are probably not seeing the textures. Try importing it to Blender and not optimizing. Is there a function then in Blender where you can wrap an image around a model? If so, use the image that was exported the same time the obj file was. If that looks right, re-export the OBJ file and send it to me. I can then find out the OBJ langauge for telling it what texture to use.