I noted a bug, using Matlab 2013b 64-bit on Windows 7, also Barweb v2.3. The function doesn't accurately target the 'within-group' bars that I wanted. I tracked it down to the fact that the variable 'posX' which is received from the handles object generated by the barweb function appears to be corrupted -- the matrix is twice as long as necessary and every other element is something that the author of barwebpairs must not have intended.
I corrected it by adding 'posX = posX(1:2:end);' after the initial posX declaration, and everything worked fine after that. I did not test out 'between-group' pairs, so I can't say whether it broke something else, but it certainly fixed something that wasn't working.
Great code! One issue I noticed though is that representations of logical/binary data (at least using imagesc function) cannot be frozen using 'freezeColor' -- you must convert them to non-binary for it to have its effect, e.g. double(myBinaryData). No error is thrown or generated if binary data is used, it simply fails to freeze (took me 20 minutes to determine what was going wrong). This is not the first code I've noticed that behaves oddly (unexpected results, no errors generated) around logicals, so it might be more of a Matlab issue than the code itself.