I've found your mistake then.
You pass light position as 0,0,0, but in the shader we calculate from viewSpace.
That means that the light is at camera position, but the mesh is somewhere else.
So you need to convert the position to view space.
void DrawPointLight(Vector3 position, Vector3 color, float radius, float intensity)
pointlightFx.Parameters["lightPosition"].SetValue(Vector3.Transform( position, _view));
Haven't tested, but that's the idea