Select with inconsistent linkage
Next time please build an example like below.

create table dbo.Reviews
(
   Id int not null
  ,ReviewFromId int null
  ,ReviewToId int null
)
GO

insert into dbo.Reviews
(Id,ReviewFromId,ReviewToId)
values
 (1,null,2)
,(2,1,3)
,(3,2,null)
,(4,2,5)
,(5,4,6)
,(6,null,7)
,(7,6,8)
,(8,null,null)
GO


From start I can tell your problem is when two rows are reviewed from the same row (3 and 4)
so that row (2) can persist only one ReviewToId

Also you do needs two results, one for each column.

/* Wrong reviews from */
select r4.Id, r4.ReviewFromId, r2.Id, r2.ReviewToId
from dbo.Reviews r2
join dbo.Reviews r4 on r4.ReviewFromId = r2.Id
where r2.ReviewToId != r4.Id

/* Wrong reviews to */
select r5.Id,r5.ReviewToId,r6.Id,r6.ReviewFromId
from dbo.Reviews r5
join dbo.Reviews r6 on COALESCE(r5.ReviewToId,0) = r6.Id
where COALESCE(r6.ReviewFromId,0) != r5.Id


Results are:

Id          ReviewFromId Id          ReviewToId
----------- ------------ ----------- -----------
4           2            2           3



Id          ReviewToId  Id          ReviewFromId
----------- ----------- ----------- ------------
5           6           6           NULL
7           8           8           NULL