Мне почему-то хочется иметь ссылку именно на ту транзакцию, в которой получен передаваемый объект. Она же тоже может быть вложенной.
Используя TopTransaction можно спокойно обойтись без вложенных транзакций. Но здесь есть подводный камень: а что, если TopTransaction не существует? Мало ли из какого кода вызван твой метод. Не исключено, что программист, вызывает твой метод не из контекста транзакции. В этом случае нужно либо документировать это требование, либо выполнять проверку существования транзакции. Т.е. может возникнуть потребность в том, чтобы проверять TopTransaction на null и если получаем "бинго!!!", то формировать соответствующий блоко using. На мой взгляд, в подобных случаях использование TopTransaction создаёт дополнительную нежелательную(???) зависимость (зависимость от контекста). В то же время, если твой метод внутренний и ты сам полностью контролируешь где и как он вызывается, то использовать TopTransaction, на мой взгляд, приемлемо.
Однако, если взять за правило работать с объектами исключительно либо через транзакцию, либо через её эмуляцию (что я считаю абсолютно надёжным и верным решением), то вероятность того, что TopTransaction будет null - крайне мала. Более того, если эта ошибка не будет обработана и выскочит, то это будет сигналом программеру, что в его коде ошибка (т.е. лишнее напоминание о том, чтобы он работал через транзакцию или эмуляцию).
Она также может быть OpenCloseTransaction, выдаст ли Database.TransactionManager.TopTransaction ссылку на нее? Я не знаю, надо экспериментировать...
OpenCloseTransaction наследуется от Transaction. Поскольку путём введения в API класса OpenCloseTransaction Autodesk тем самым постарался сделать единообразной работу как в транзакции, так и в её эмуляции, то вполне логично ожидать, что в обозначенной тобой ситуации будет возвращена ссылка на экземпляр OpenCloseTransaction.
UPD Если в своём коде ты не создавал транзакцию, то результат, полученный из TopTransaction можно проверять на null, как обозначено выше, либо не проверять, заставляя тем самым программера работать в контексте транзакции или эмуляции (этакий рычаг воздействия).