Ответ 1
Я предполагаю, что вы пытаетесь по существу выполнить новую установку() в своем Mock при вызове метода? Если это так, вы должны иметь возможность сделать это с помощью обратного вызова, например:
Mock<ITimer> mock = new Mock<ITimer>();
mock.Setup(x=>x.Start()).Callback(() => mock.SetupGet(y => y.Enabled).Returns(true));
Это некрасиво, но это должно сделать трюк.