In the UK, CRIDs can vary between ITV regions for the same programme, but tend to be the same for SD/HD. Channels also have "authority" (such as "bbc.co.uk" or "www.uktv.co.uk") which is used to generate the unique ID, so if BBC shows "Top Gear" then the re-broadcast on Dave channel will have a different authority, hence a different id.
UK Freeview and Freesat frequently have different authority (and subtly different channel names) to make things difficult. So you used to have five.tv and channel5.com, Picktv.sky.com and sky.com, and numerous others.
Series link on xmltv SD is different to actual series link on OTA. Series link on OTA links a broadcast (such as Thursday night at 9pm on E4) and is completely different to the re-broadcast (Thursday 10pm on E4+1, Tuesday 9pm, etc.)
SD series link is based on the fact that known series have the same prefix on their program ids, so it should probably pick up all repeats and then filter based on duplicate policy so you might not notice much difference. However, years ago I used to record the 3am versions of SHIELD since they had 10 minutes fewer adverts than the 9pm version, so you could probably do this with OTA series link not xmltv series link.
For the original question, mixing and matching xmltv and OTA for the same channel seems like a bad idea to me since programmes can have different names on SD vs OTA. So you could end up scheduling a programme using SD at +8 days and find it doesn't record because the OTA name at +7 days has changed. It might not affect you on old versions, but newer versions are more strict about descheduling recordings that no longer match criteria.