The main problem for me in this file is the size of the objects. Could it be for modeling, shading, or physics simulation (whenever applicable), the one rule is to always work in real world scale; by which I mean : never in my life have I heard of a 30 meters tall grenade. I had to scale down your scene to have a descent playback.
For the domain and its resolution, think of it as a subdivided cube (that’s what a voxel grid is, basically). Take the default cube (2m x 2m x 2m), go into edit mode and subdivide it 32 times, you will have this:
Now, if that was a smoke domain, with a resolution of 32, then each “voxel” (so to speak, I’ve just forgotten the right word), will roughly be the size of each face you see in the above picture. The proper way to get rid of the blockiness is to upres your sim, but not scaling it up.
So now you end up with a crazy ass humongous domain, with a whole lot of wasted resolution (not to mention the hi-res setting), which in turn implies tremendous render times, wrong shadow sizes, etc.
I haven’t really checked on the other settings, but for rendering, you’re using too many bounces for my liking (128 bounces is an overkill for me, and that also explains the long render time you get).
So yeah, my advice for now would be to either start from scratch, or rework your scene with real world scale (like a 10-15 cm grenade, and a 5 - 10 m tall domain; I’m not grenade savvy, but I guess it’s around there).