Why does DES implement so much Cross Wiring? I've been going through DES, and I find that most of the blocks simply Reshuffle the input, which may be termed as "Cross Wiring". This include IP, IP-1, PC-1, PC-2 and even Expansion (although this seems to be more useful than the rest).

Why does DES do it? Is it for a reason, or just for fun maybe?
Inside each round, DES has a permutation that is used for diffusion and is crucial for security. However, you rightly point out that the initial and final permutations on the block of input/output and on the key have no effect whatsoever on security. Formally, it's not difficult to show that if you have an attack on DES without these initial and final permutations, then the attack also works when you do have.

So why does DES do this? Well, we can only guess. However, the assumption in the cryptographic community is that permutations are really really fast in hardware and really really slow in software. (In fact, a good percentage of the encryption time in software goes on these permutations. In hardware, it's just a matter of moving wires so it's almost zero cost.) This therefore slows down brute force search in software, relative to what can be done in hardware. 

Why was this done? My guess is that this gives an advantage to certain very large organizations who have the resources to build special-purpose hardware. One such organization was instrumental in making DES secure (helping in the design of the S-boxes). However, they also pushed to make the key 56 bits long instead of 64 bits long. I guess that by making the software implementation slow, they felt that this could enough security (since most of the world would only have software) while enabling them to do brute force searches.

One could of course go for a less exciting theory which is that this was an additional level of security to slow down brute force searches in the future. But, I don't really buy it since if this was the concern at the time, then a bigger key would have been the right solution.