I think the first catch is that “semantic property” is a bit tricky. For example, whether the program halts before 10 steps doesn’t count as a “semantic property”, because the programs “halt immediately” and “wait 10 steps then halt” are considered semantically equivalent. So most questions about what a real computer or physical object will do in 10 seconds are exempt from the theorem and you can sleep easy.
The second catch is that questions like “does this program ever halt”, which do count as semantic, are all individually answerable. That’s right—for any program A, there exists a program B that answers the halting problem for A. (Namely, if A halts, we know B exists—it’s just the program “print 1″. If A doesn’t halt, we also know B exists—it’s just “print 0”. So B exists in any case.) The halting problem and Rice’s theorem are more about having one B that works for all A, which is a much bigger ask.
I think the first catch is that “semantic property” is a bit tricky. For example, whether the program halts before 10 steps doesn’t count as a “semantic property”, because the programs “halt immediately” and “wait 10 steps then halt” are considered semantically equivalent. So most questions about what a real computer or physical object will do in 10 seconds are exempt from the theorem and you can sleep easy.
The second catch is that questions like “does this program ever halt”, which do count as semantic, are all individually answerable. That’s right—for any program A, there exists a program B that answers the halting problem for A. (Namely, if A halts, we know B exists—it’s just the program “print 1″. If A doesn’t halt, we also know B exists—it’s just “print 0”. So B exists in any case.) The halting problem and Rice’s theorem are more about having one B that works for all A, which is a much bigger ask.