The bug is that the timestamp difference is calculated on the wrong blocks. If you change it, then the new software will be instantly incompatible with the old software, and they will never, ever, ever reconverge. That is a hard fork.
[Edit]Updated the numbers[/edit], since it is backwards looking.
My suggested solution, that the 2 blocks in question must have nearly the same timestamp doesn't cause a fork at all. The reason the bug works is that it lets you cheat the timestamp system.
The bug is basically that you can have something like this
Note:
You would actually start around 2 months (4 difficulty periods) before current time.
The end time may not be more than 2 hours into the future.
Block 2160000: 2010: Jan 1, 9:00am...
...
...
...
Block 2162145: 2010: Jan 1, 9:01am
Block 2162146: 2010: Jan 1, 9:02am
Block 2162147: 2010: Jan 1, 9:03am
Block 2162148: 2010: Jan 1, 9:04am
Block 2162149: 2010: Jan 1, 9:06am
Block 2162150: 2010: Jan 1, 9:07am
Block 2162151: 2010: Jan 1, 9:08am
Block 2162152: 2010: Jan 1, 9:09am
Block 2162153: 2010: Jan 1, 9:10am
Block 2162154: 2010: Jan 1, 9:11am
Block 2162155: 2010: Jan 1, 9:12am
Block 2162156: 2010: Jan 1, 9:13am
Block 2162157: 2010: Jan 1, 9:14am
Block 2162158: 2010: Jan 1, 9:15am
Block 2162159: 2011: Jan 1, 9:00amTime: 1 year
Difficulty: X 0.25
----------------------------------------------
Block 2162160: 2010: Jan 1, 9:16am......
Block 2164319: 2011: Jan 1, 9:00amTime: 1 years
Difficulty: X 0.25
----------------------------------------------
Block 2164320: 2010: Jan 1, 9:32amThe start and the end of the difficulty period are in bold. This gives a time of 1 year to get 2160 blocks. Suffice to say that causes a drop in difficulty. In fact, it hits the limit and the difficulty drops by a factor of 4 (max drop allowed).
However, all the blocks have valid timestamps. The rule is that a block must have a timestamp that is higher than at least 6 of the last 11 blocks. That is true for Block 2162160 even though it jumps back by 100 years.
You then pull the same trick on the next 2160 blocks. The 100 year in the future block is ignored.
If you start with a block a few weeks previously, you can gain a full difficulty period and only use up 2160 seconds worth of timestamps.
If you required that last block in the difficulty period was nearly equal to the first block in the next difficulty period (say within 2 hours), then you prevent exploiting the adjustment.