And it appears to me as if the lighting is better on round or curved surfaces. And it looks to me as if the engine uses the same shadowcasting on big flat surfaces, it looks a bit funny when the surface should be fully lit but it starts to get darker at some point.
You are correct, of course, since per-vertex lighting attempts to simulate round surfaces, since there is actually no such thing as a normal for a vertex. It's an attempt to approximate lighting for a curved surface formed from the vertices in all the polygons who touch the vertex in question. That's just the way it is. So, it's not physically or mathematically correct. Who cares?
About shadows, I'd think that if it were done, shadow maps would be the way to go, since they're a whole lot more scalable than stencil shadows (if your computer is too slow, you use a lower-resolution map), and do shadows only for suns. That way the preformance hit shouldn't be too bad (since each point light requires drawing the whole scene 6 times with only Z-buffering enabled, while a directional light reuiqres only once), and, if you've seen splinter cell, you know that shadow maps can look cool.