The first thing on your mind when you unwrap: always hide your seams in spots that won't be noticeable.
There's a photoshop filter for the downsamplng issue, but it requires to install a standalone app called xnormal. To make sure it doesn't happen tho, it's preferable to use edge padding when baking your maps, there's probably an option for that in zbrush, i just don't know where it is.
Put this file in your photoshop plug-ins folder, when you load photoshop, you should find it under filters>xnormal>dilation
It's best to use this on each UV shell so get rid of the empty background when you use it because it's gonna grow all border pixels by the amount you entered.
The other problem you are seeing is caused by your split mesh. It's not exactly a problem, but a result of how polygons are rendered in game engines. Whenever a mesh is split, normal information changes on both surfaces and will alter the shading (think of it as smoothing groups if you know what they are).
When you compiled your model, did you check the boxes in assimilate where it says "smooth all groups" or remove duplicate vertex during compile? I don't remember exactly which one (or both or none?) might resolve the problem. So try compiling all 4 ways and see how it looks in the game.