캐쉬드 엎데이트도 내부적으로는 트랜잭션을 사용할 것입니다. 하기에 그 방식을 사용하면서 동시에 Transaction을 별도로 구현하려고 하면 에러가 날 수 밖에 없지요.
님이 하시는 작업이 구체적으로 어떤 것인지 몰라서 더 이상 답변이 힘들겠지만요.. 제 짧은 경험으로 볼 때, 가장 안정적으로 DB에 접근하는 방법은, 수행하는 작업을 트랜잭션이 필요한 작업의 작은 덩어리들로 세분화해서 그 덩어리마다 하나씩의 TDataBase를 할당하는 겁니다. 그리고 트랜잭션은 TDatabase별로 필요에 따라서 하면 되는거죠... 캐쉬드 엎데이트는 그런걸 크게 신경쓸 필요 없이 손쉽게 구현할 수 있다는 장점이 있는 것 같습니다.
서버단에서 Transaction을 수행하는 함수를 만들고 데이터베이스 내용 수정을 그 함수를 통해 해야 정확히 'Transaction'방식을 사용하는 겁니다.
하지만 Cashed Update방식도 그리 나쁜건 아니죠..?