When specifying texture coordinates using just a coordIndex array the values are off by 1. If you specify them using a texCoordIndex array things are fine.
box_1_texcoord.wrl and box_1_coord.wrl should both render the same. They don't in the current blender. When using the coordIndex only the index values need to be subtracted by one. I couldn't track down why they differ I suspect something starts indexes by 1 someplace instead of 0. The fix I propose is to check do_uvmap and change indexing schemes. I also tested with no texture coordinate provides such that locally they are generated and those came out right with the proposed fix as well.