There may be more problems than this, but as was pointed out in the 3dbuzz forum, it's uCoord and vCoord, not ucoord and vcoord.
That said, your script isn't the best way to do this. You can create a particleSamplerInfo node and hook it up to your particles, set up a mapping to U and V outputs, and hook that node up to a texture. Your particles will render much much faster and you'll get the result you need possibly with no scripting at all...
However, that approach only works with the software render types... so maybe you're stuck if you absolutely have to have hardware rendered particles, but most of the time you can get the results you want with software render types...
-- Mark