--- ../src_base/minecraft/net/minecraft/network/packet/Packet56MapChunks.java
+++ ../src_work/minecraft/net/minecraft/network/packet/Packet56MapChunks.java
@@ -135,6 +135,13 @@
                 var9 += 2048 * var7;
             }
 
+            int msb = 0; //BugFix: MC does not read the MSB array from the packet properly, causing issues for servers that use blocks > 256
+            for (int x = 0; x < 16; x++)
+            {
+                msb += (field_73588_b[var6] >> x) & 1;
+            }
+            var9 += (2048 * msb); 
+
             this.field_73584_f[var6] = new byte[var9];
             System.arraycopy(var3, var5, this.field_73584_f[var6], 0, var9);
             var5 += var9;

--- ../src_base/minecraft/net/minecraft/network/packet/Packet56MapChunks.java
+++ ../src_work/minecraft/net/minecraft/network/packet/Packet56MapChunks.java
@@ -135,6 +135,13 @@
                 var9 += 2048 * var7;
             }
 
+//            int msb = 0; //BugFix: MC does not read the MSB array from the packet properly, causing issues for servers that use blocks > 256
+//            for (int x = 0; x < 16; x++)
+//            {
+//                msb += (field_73588_b[var6] >> x) & 1;
+//            }
+//            var9 += (2048 * msb);
+//
             this.field_73584_f[var6] = new byte[var9];
             System.arraycopy(var3, var5, this.field_73584_f[var6], 0, var9);
             var5 += var9;

Tweak packet56 to see if this resolves the apparent worldgen derpiness
Tweak packet56 to see if this resolves the apparent worldgen derpiness
