About your concern with any other app accessing the drive while ripping: won't happen, ripper locks the drive for just that reason.
Sorry, but it doesn't... I was able to start ripping while playing the disc with PowerDVD, then I was starting and stopping playback or was suspending and resuming ripping several times. The result was terrible - files were different to what was created for the first time when there was no (evident) interference.
I had to test it myselt before asking questions...
Meanwhile I had a look at BackupBluRay code and found a line of code where it has a bug which causes those several kilobytes of extra data at the end of decryped files. When I fixed it (by replacing "2048" with "6144") and recompiled the code, BackupBluRay started to produce files which are absolutely the same as those created by AnyDVD HD (when it is in good mood ).
Also I found from the code that data in .m2ts files is encrypted in 6KB (6144 bytes) blocks. 6KB are 3 sectors. This means that if AnyDVD works on sector level, as you said, then to successfully decrypt a sector you have to know the content of two other sectors. Then why AnyDVD cannot work something like this:
1) It recieves a request for the content of a particular sector, and it should return a (decrypted) data for that sector.
2) It checks the cache (AnyDVD's own cache) for the decrypted data for this sector. It it finds a record for the requested sector in cache, it returns it, and that is it.
3) It not, it finds which file this sector belongs to and calculates the position of this sector in the file. This is required to figure out which 6KB block the sector belongs to.
4) It finds where are two other sectors which belong to the same encryped block and reads them.
5) It decrypts 6KB block and puts decrypted data for all 3 sectors to the cache.
6) It returns only one third of the decrypted data which corresponds to the requested sector.
7) When in some time it receives a request for one of the other 2 sectors, it doesn't have to read them again from the disc, it can take it straight from the cache. (unless they were removed from the cache already)
This algorithm does not imply that sectors are accessed in sequential order and still will return correct data whatever happens in Windows on application level.
I'm just wondering is 6KB encryption block Blu-ray specific or HDDVD works same way. I rather incline to think that it is Blu-ray specific, because why would the author of BackupBluRay divide by 2048 instead of 6144 in the first place in that line of code which has a bug. It was plobably left from his initial HDDVD code.
Please don't take an offence or something. I'm just trying to help to make AnyDVD HD better and bug-free.
Also, I'm not a specialist in the area. These are just common sense thoughts.