Ok, what is happening is this. Since you are going strictly off year you should treat these years as numbers not dates. Format EntranceDoorsFlatsRenewYear as a Fixed number with 0 decimal places. Dim all your variables as Long (See code below). This should work as expected. Make sure you save all changes before testing the code.
Code:
Dim vEntranceDoors, vCompareDate, vCurrDate As Long
vCurrDate = DatePart("yyyy", Date)
vCompareDate = DatePart("yyyy", Date) + 20
vEntranceDoors = EntranceDoorsFlatsRenewYear.Value
If vEntranceDoors < vCurrDate Then
MsgBox "Renew Year Invalid: < Current Year!"
End If
If vEntranceDoors >= vCompareDate Then
MsgBox "Renew Year Invalid: Exceeds Life Expectancy!"
End If