Observed behaviour: While connected to a server, contacting crops while on the ground randomly causes them to break.
Expected behaviour: As in simgleplayer, crops should only break in multiplayer if the player falls or sprints on them.
Underlying cause: This one's my fault, actually. I told Alblaka that EntityLiving.motionY was 0 for a player on the ground, and it is... in singleplayer. On a server, it rapidly switches between 0 and a small negative value (-0.0784000015258789, at least for my server). So half the time, the server thinks you're falling, and triggers the crop trampling chance.
Fix: Change "((EntityLiving)entity).motionY < 0" to "((EntityLiving)entity).motionY < -0.1". I recommend testing on another server as well, to see if my observed value for motionY matches. (I suspect it's one tick of the gravity constant, and will be identical on every server.)
Mea culpa.