I was thinking the wire you ran was a little off for the application, but when I plugged the numbers in for #2 and for the 1/0 wire (allowing for a 3% voltage drop running 45 amps) you are good for 16 feet and 25 feet respectively. So if the wire is in good condition, that should not be your problem.
1 Wild R/T advice about a short cable to the starter sounds like a great plan to eliminate any other problem with your wiring from the trunk.
With regard to your assumption relating to the wire size: where does the 3% voltage drop @ 45 amps figure come from? The starter motor draw when cranking the engine is approximately 450 amps with 9.5:1 compression ratio hot. The amperage will be greater when the engine is cold.
First example: # 2 AWG X 16 ft.
Resistance is 0.156 ohms/1000 ft Assume total length of cable is 16 ft which results in ~ 0.00156 ohms.
By ohm's law E (voltage) = I (current) x R (resistance)
Voltage drop = 45 amps x 0.00156 ohms = 0.0702 volts
Voltage drop = 450 amps x 0.00156 ohns = 0.702 volts
Second example: # 1/0 AWG X 25 ft
Resistance is .0983 ohms/1000 ft Assume total length of cabke is 25 ft which redults in ~ 0.0098 ohms.
Voltage drop = 45 amps x 0.0098 ohms = 45 x 0.0098 = 0.441 volts
Voltage drop = 450 amps x 0.0098 ohms = 450 x 0.098 = 4.41 volts
These calcs just show wire loss. Terminal resistance unless crimped AND soldered will add 5-10% loss plus the final connection loss, 1-2 %.
If smaller wire sizes are used, voltage drop will be greater at high current draws.
One additional consideration is the starter motor itself. IF the starter motor's armature has a bad winding (shorted to ground) or a shorted commutator (where the brushes ride) bar, current draw will be excessive eith arcing at the brushes or a bad field coil winding (assuming its not a permanent magnet motor). Just my thoughts.
BOB RENTON