I'm not sure which tests are used in the NHS to screen blood, but I'm pretty sure they use at least two; most likely a test to detect antibody (e.g. ELISA) followed by a nucleic acid test such as PCR. The PCR can detect nucleic acid in as little as three weeks after infection, I'm not sure about the window period for ELISA. But of course, all tests may throw up false positives/negatives, which is why more than one test is used. I think that as long as the person has had a negative HIV test with the past month, and has not had unprotected anal sex since, they should be allowed to give blood. I am uninformed, I don't know the exact rate of transmission in heterosexuals vs. homosexuals, but 10 years is ridiculous.