SVN maintains a file system with the rev number. Every change to any part of the file system is a new rev. In other words, each rev corresponds to another version of the entire file system even though most part of that file system wouldn't have changed.
If you check out, or update to, or export, a rev, that means "give me the contents of the svn file system as it was in the rev.
When you say that A->r1234 and B (subdirectory) -> r1222, it means that in revision 1234, B was untouched but this does not mean that B is at rev r1222, it is also at r1234.
So I guess, what you are looking for is : latest change that touched the subdirectory "B"
This can be done by going into the subdirectory and issuing log command
svn log --limit 1 -r ..