I don't get it. I thought the whole idea was that a hash was quick to calculate, but it was hard to find a nonce that yielded a correct hash since there are so many nonces to try. So once your approximate hardware finds a nonce, why don't you just check it on a regular processor before sending it to the network? Sending off a possibly bad block to the network seems like a lazy (not to say sleazy) thing to do.
Hey, I've got an even better idea to increase profits: just send loads of random blocks to the network. All the miners will be too busy checking your incorrect blocks to do any mining themselves and at some point you're bound to stumble onto a correct block!