Go download fuzzyband in Cydia and see if you can downgrade your baseband.
If fuzzyband says you cannot do it then you'll have to upgrade to 4.2.1, run redsn0w on your phone and upgrade the baseband to the iPad baseband. This will break your GPS.
So try the downgrade option first. If that fails then you can consider using the upgrade baseband option.
Then unfortunately you'll need to be able to put into dfu mode to upgrade the baseband. There isn't any other way. You'd either use a custom firmware which requires the device to be put in pwned dfu mode or you'd use redsn0w to install the baseband which also needs dfu mode.
So it's either fix the power button or buy another phone unfortunately.