Firstly 4GB is a magic number (it is the biggest number expressible by 32bits) so it could easily be a bug in something like a driver.
With my 4GB Sandisk /// card a free SDHC to USB converter came with it. Did your card come with one? If so then try that. I have been using the converter with 8GB and 16GB Adata cards with no problems.
Secondly, perhaps your card is a fake (not so likely given you said the files could be played back on the camera, but worthwhile checking!). Some fake cards (
http://www.google.com/search?q=fake+sandisk+III ) can have problems when they get half full. e.g.
http://reviews.ebay.ie/Fake-Sandisk-Ultra-II-4GB-SD-Memory-Cards-on-Ebay_W0QQugidZ10000000003928494 says "I have unwittingly bought 2 counterfeit Sandisk Ultra II 4gb SD Memory cards from 2 Ebay vendors in the UK, they do not perform the same as an original Sandisk card, read/write speeds are significantly slower on the 4GB card, also the experience I had was when the card was half full with pictures, it would corrupt. When this happened up to half of the pictures already stored on the card would be unreadable on the either a camera or a PC and ultimately were unrecoverable."
One test to see if your card was fake is could be to use the Benchmark test in CHDK and see if you get a RAW write speed of about 20MB per second after the card is freshly formatted - run test twice and ignore first result - see
http://chdk.wikia.com/wiki/Benchmarks. I would guess that a fake card would not be nearly so fast as the real thing (cheaper memory chips run much slower than Extreme ///).