这句话无论填told还是havingbeentold都是个病句,因为并列连词but前后应该均为完整的句子.这句话可改成:
1、Havingbeentoldmanytimes,hestillcouldnotunderstandit.
2、Hewastoldmanytimes,but(he)stillcouldnotunderstandit.
3、Although(hewas)toldmanytimes,hestillcouldnotunderstandit.
havingbeentold,作状语表示被动,强调非谓语动词所表示的动作发生在句子谓语之前,told只表示被动,而不表示发生先后