I have rebuilt the iat table of a UPX packed to the point where there are no invalid thunks (All "Yes"), I then fix the dump though when I open the final fixed executable in impRec I get invalid thunks which I originally sorted alongside some new invalid thunks. I'm getting the same results with multiple versions of UPX, this is the final hurdle for me in fully unpacking the packed executables, where am I going wrong.
Try using Scylla for import reconstruction as ImpRec is outdated (The last update is from 2011, and form a third-party) and known for having problems nowadays.
Import REConstructor rebuilds the Import Table, not the Import Address Table.
If you want to verify that Import REConstructor worked correctly, you'd be better off examining the resulting EXE with an Import Table tool such as Dependency Walker. There's no point in examining the resulting EXE (once it's loaded) with Import REConstructor because its displayed output is based on the runtime Import Address Table, which was never rebuilt.