alright, i have this trick that i do at work where i bypass the switches and relay to the starter.
buy a remote starter @ kragen and hook it up @ battery B+ side and the other end directly to the S terminal of the starter (small terminal in between the solenoid and motor terminal of starter).
turn the key to "on" then crank the engine by pressing the remote start button. If the car runs, then this will narrow down your problem to the control side of the starter which means it could be a starter relay problem, key switch problem, park switch and maybe an alarm system
at that point, at least you would be buying unnecessary parts.
let me know what happens.