Get Data for user excluding another user blocked with its time interval
The best way to handle this would be to make the default value for the EndBlockDate be an arbitrary date far in the future instead of NULL. For example, if your BlockedUsers table was like this:

BlockedUsers

ID | FromUserId | BlockUserId | StartBlockDate       | EndBlockDate
1  |    A       |   B         | 2017-10-06 11:55:00  | 2017-10-07 11:55:00 
2  |    A       |   B         | 2017-10-08 10:05:00  | 2017-10-08 12:07:00 
3  |    A       |   B         | 2017-10-09 11:55:00  | 2150-12-31 23:59:59


Then your query above would correctly filter the information.