Switch 12v power with Arduino and MOSFET

I have a TIP42G MOSFET switching a 12v power supply controlled by an Uno which is also powered with a battery. See http://www.onsemi.com/pub_link/Collateral/TIP41A-D.PDF

I have a BC547 with the collector connected to a 10k resistor connected to ground, the emitter connected to the Gate pin on the TIP42G and the BC547 base connected to the Uno. The Drain pin on the TIP42G is connected to the gate pin with a 10k resistor.

When I connect a 9v battery to the TIP42G source, even when only running on the 9v battery, the Uno can switch power on/off (on the TIP42G Drain pin).

However, when I connect a 12v (5 amp) dc power supply to the TIP42G's source pin, the Uno can't switch it. I have tried many different variations, and either always get 12v or always get ~0v out of the Drain pin. Also, if I disconnect the digital pin on the Uno, it will drop to ~0v, but programmatically setting the pin to LOW doesn't.

I have also tried the other MOSFETs I have IRF510, NTE2908, NTE2390, and NTE2389.

Which is it? Tip41a or tip42g?

Well the tip42g is a power transistor not a fet, this particular pnp transistor relies on current to control your load, a fet relied on voltage.

You're mixing up your transistors.

You're better with an NPN or N-Channel, switching the base/gate to high.