Sometimes, things move with a little 'finesse' that won't budge with all the wacking in the world.
Secure the bike someway so it doesn't move around. Then use a good fitting wrench with a long (may have to be several or more feet...) sturdy metal pipe over the handle. Slowly apply pressure to the far end of the pipe (this is called using a 'breaker-bar'). The extra leverage should break the rust providing it's not too far gone to come apart.
I just replaced the crappy Race-Face cranks on my MTB with XT. The Race-Face crank/spindle just would not go no matter how I wacked it with a mallet. So I used my old (back from square taper days) crank puller by putting a sturdy washer inside the crankarm, against the spindle (to cover up the hole). Then I screwed in the old puller, and with a few simple twists of the handle, it pushed against the washer which pushed against the spindle and it all came out. It took a fraction of all the energy of all those mallet wacks...
Good luck!
Tzvia- rollin' slow...
Specialized Ruby Expert/mens Bontrager Inform RXL
Specialized SWorks Safire/mens Bontrager Inform RL
Giant Anthem-W XT-XTR/mens Bontrager Inform RXL
Fuji Newest 3 commuter/mens Bontrager Inform RL
Novara E.T.A commuter/mens Bontrager Inform RL