Blender does this in a number of places - but its not given as an API function - theres nothing really inherently hard about this - a UV is a triangle on an image - you can find the pixel how you like.
So far I found one trick as suggested by Liero on getting Vertex Point Color baked by using Dynamic Paint.
For example I have a mesh, I add texture and bake the vertex color using DP.
The next thing I would like to do is to somewhat instance some objects (particle or vertex parent), but with those instances inheriting color from Vertex Color.