temp gauge not working
I have a thought on the temp gauge problem. You said that the gauge worked when you grounded the temp sending unit on the top part. That is the same as grounding the wire. The gauge will work when current flows through the gauge to the temp sensor and into the grounded engine. If the gauge works when you ground where you did, I am guessing that you either have a bad temp sending unit (even if it is new), or someone has used so much teflon tape or silicone goop when installing it that it cannot ground out to the engine. That means you do not have a complete circuit and the gauge will not work.
FWIW, people call the temp, fuel and oil pressure sensors sending units, but they are not. They don't actually "send" anything. They are variable resistance switches. The IVR sends current through the temp gauge and then into the temp sensor. With the temp switch that is screwed into the intake, when the engine is cold the resistor in the switch allows no current to flow through it into the engine. That means there is no current flowing through the bi-metal coil in the gauge. That means no movement on the gauge. The warmer the sensor gets, the more current it will allow to flow into the grounded engine. But if you have used enough of whatever type of sealant when installing the sensor, it will not allow current to flow through it and into the block even if the engine is properly grounded.
Just a thought. Check it out.