Hi Neil,
This is indeed a bug - for some reason we override the faked instance of B with the one in the A constructor. I'm logging a bug for this into our tracking system. I am however assigning it a relatively lower priority as the use case is pretty rare and it's easy to work around (fake A before B, for instance).
Doron
Typemock Support