你有几个概念不清的地方。
1 根据传统语法,虚拟语气是没有时态的。时态(16种时态)是陈述语气的谓语动词形式。所以,传统语法在描述表示与过去事实相反的had done形式时,把had done就叫had done, 而不叫过去完成时。因为在传统语法中,过去完成时表示过去的过去,而虚拟语气中的had done并不表示过去的过去,而只表示过去。
根据现代语法,虚拟语气形式只有动词原型和were, 没有其他形式。should do在现代语法体系中不属于虚拟语气。
所以,无论从传统语法角度,还是从现代语法角度,你的问题“虚拟语气的不同时态”都是一种错误的提法,反映了你不注意基本语法概念。
2 现在回到传统语法体系。
推定式should在传统语法属于虚拟语气的范畴,可以用于不同的句型。在表示与遗憾、惊讶等语义有关的that从句中表示感情色彩仅仅是should的用法之一,不应引申到其他场合。例如在表示与建议、要求、命令有关的that从句中,should就没有感情色彩。而你把二者混为一谈,导致你本不该有的疑惑。
表示感情色彩的that从句中的should如果删去,则没有了感情色彩,为平铺直叙一个事实,自然that从句要用陈述语气表述事实,而不能用虚拟语气。
It's surprising that he marry her. 这个that从句用动词原型式虚拟语气为语法错误。Mikee网友在前面的解答中已经告诉你了。你似乎没有重视。这个that从句如果不用表示感情色彩的should就必须用陈述语气,不能用动词原型。
表示要求、命令、建议的that从句中用should do 还是用do, 是美式英语还是英式英语以及正式语体和非正式语体的差异,都是虚拟语气,不用陈述语气。
3 We regret that this should have happened.
表示感情色彩的that从句中的should have done告诉你,从句谓语动作是过去发生的事件。过去发生的事件既可以用一般过去时表示,也可以用现在完成时表示。具体用二个时态中的哪一个,取决于语境。我想对此你在学习时态的时候已经知道一般过去时和现在完成时表示过去发生的事件时的区别。语法书在讲述should have done对应陈述语气的谓语形式时,用一般过去时或现在完成时,都是告诉你这个事件是过去的。语境决定用哪个时态。由于语法书只给了一个单句,你看不出语境中该用哪个时态,因此就没有理由去质疑。二个时态都可能是正确的。二者的区别你在学时态的时候都学过了,为什么还要在这里纠缠?
4 当说话人觉得不可思议的是静态动词表示的状态时,表示感情色彩用should do, 平铺直叙则可以用一般现在时。例如:
I can't believe that she should love him.
I can't believe that she loves him.
平铺直叙可以用不同的时态,should表示感情色彩也用相应的不同形式。例如:
I‘m sorry that you should be still waiting.
I'm sorry that you are still waiting.
It's a pity that she should marry him.
It's a pity that she will marry him.
有时有人用should do代替should have done. 所以上句也可能表示 It’s a pity that she has married him.