Then suppose at 8.30pm I do a manual log backup (thus truncating the log) and delete this file. Thus the subsequent log backup at 9pm will have incomplete log.
The transaction log backup created at 8:30 pm contains transaction log records from 8:00 PM through 8:30 PM. The transaction log backup created at 9:00 pm contains transaction log records from 8:30 PM through 9:00 PM.SQL Server does not make a distinction if the backup was created with a SQL Agent job or you manually ran TSQL code.
Hence point in time recovery of data from 8pm to 12am is impossible.
This assumption is right.
Now at 12am there will be another full backup. And subsequently hourly log backups as usual. Now suppose there is crash at 4.30pm. Does the manual log backup made before this full backup render the normal log backups post the full backup useless?
Once you take a full backup at midnight, I rather use it for any crash recovery after that. I would first restore the latest full backup and subsequent transaction log backups. Yes, you can use old full backup but then you have to restore more transaction log backups which is an unnecessary risk.
I suggest you read these documents:
- Backups by Microsoft
- Misconceptions around the log and log backups: how to convince yourself by Paul Randal
- How to tell if a backup log chain is broken?