The first thing I would do is determine if the problem lies with network connectivity or a Bitcoin database problem. This can be quickly determined by completely closing Bitcoin (or even better, disabling the option "Start Bitcoin on window system startup" and restarting the machine), rename the Bitcoin data directory, and restart Bitcoin. This will create a new wallet, empty blockchain, and reset settings to default.
Here are commands to rename the Bitcoin data directory in a terminal window:
$
cd (change to home directory)
$
ls -la (verify that you see the .bitcoin directory in this directory listing)
$
mv .bitcoin .bitcoin-backup (rename the bitcoin data directory)
$
ls -la (verify it was renamed)
Now run Bitcoin. It will create a new .bitcoin directory when it runs. You should start getting connections and the block count should start increasing shortly. If it does not start downloading blocks, than you have some networking problem, such as connections being partially blocked, corrupted program install, etc.
If Bitcoin starts downloading blocks again with the fresh data directory, likely the blockchain data files have corruption, although first we should check if permissions were altered on your bitcoin data files. In the the new test .bitcoin directory look at the permissions and owner of the blkindex.dat and blk0001.dat - compare that your backup's directory's permissions and owner on these files, they should be the same.
If a new blank data directory works, and the permissions look correct on your old directory, then likely the blockchain is corrupted. You can then close Bitcoin completely, rename the "test" directory from .bitcoin to .bitcoin-blank, and put back your .bitcoin-backup as .bitcoin again. Delete the blkindex.dat file, blk0001.dat, and any files in the database subdirectory. You can then either restart Bitcoin and let it download the whole blockchain again for a day, or download and use the direct-download blockchain files as outlined
here.