Can an attacker create many nodes that approve blocks without work? There are currently about 7000 nodes in the Bitcoin network. The security rests on the fact that someone adding nodes would have have to expend CPU power to hash transactions.

What prevents someone from creating a large number (e.g. 10,000 to 20,000 or more nodes) and then execute the following attack.

The objective of the bogus network would be to appear to anyone, except for the legitimate nodes, as producing legitimate verification of Bitcoin transactions without actually doing the work. While the legitimate network would know something is wrong; to those outside it would appear that a majority were approving the transaction.

The bogus nodes run a stripped down version of Bitcoin which accepts new blocks from other bogus nodes, but not new legitimate ones. The bogus software is designed to make the blocks look as real as possible, chain together, but without requiring the true proof of work. The nodes could be bots on compromised computers. 

The nodes might do something like:

1) Gather any transactions sent to the network, including ones with invalid signatures and perhaps other invalid information, including thefts by the schemers.

2) The nodes in concert generate the block header and hash, by hashing once with some pre-aggreed upon nonce. They don't bother to do the repeated search. 

3) All the bogus nodes accept the new block, send their acceptance out to the network and start creating the next block
You're essentially talking about a "fork" - or a separate chain. It wouldn't and couldn't interface with bitcoin - merely work (at best) alongside it. Exchanges, merchants, and official bitcoin wallets could not be fooled into using this alternative. Someone would have to download a compromised client. As each block refers to the previous one, there would be no way for them to "inject" fake blocks in the way.