identical markup → data identical markup
new → closed
I've reproduced your original code in a complete example here where two instances of the markup provided are used (http://jsfiddle.net/addyosmani/e4xSK/2/).
Selecting them by a common class and using eq(N) to narrow them down then .data() to set the data, I was able to retrieve both sets of data without any duplication/identical data from the first or second element leaking into one another.
As such it would appear that this is working fine. If you have additional information (or test cases) that you would like to send in regarding this bug, please feel free to create a new ticket and we'll reinvestigate.