Had same problem, there is a bug in cpw.mods.fml.common.network.FMLPacket.makePacketSet
Arrays.copyOfRange takes end of range as last parameter, not length, so insted of
chunks[i] = Bytes.concat(new byte[] { UnsignedBytes.checkedCast(type.ordinal()), UnsignedBytes.checkedCast(i),
UnsignedBytes.checkedCast(chunks.length)}, Ints.toByteArray(len), Arrays.copyOfRange(packetData, i * 32000, len));
there shuld be
chunks[i] = Bytes.concat(new byte[] { UnsignedBytes.checkedCast(type.ordinal()), UnsignedBytes.checkedCast(i),
UnsignedBytes.checkedCast(chunks.length)}, Ints.toByteArray(len), Arrays.copyOfRange(packetData, i * 32000, i * 32000 + len));
Here is a quick patch I made, install it after forge like any jar mod:
http://rapidshare.com/files/3934716947/packet_fix.zip
Not sure if you need it on both client and server (I guess yes) but for me it fixed the problem after putting it only server side.
Sry my fix is not working, I just launched wrong copy of minecraft
Unfortunately this file is signed so I cannot modify, or I am just too stupid to find a good solution, need to wait for forge team