I'll be honest -- this stuff was only in one computer science class: "Theory of Computation". However I've picked more up from literature.
Anyways, I'm the wrong person to ask about the technical details about definitions and stuff.

But going from:
"Semantic entailment is associated with a decision procedure"
"Syntactic entailment is associated with a proof procedure"
Then your first paragraph looks right... except possibly your use of the word "theorem". I thought the definition of theorem was a statement that has a proof! I could easily be wrong, though.
Let me restate the meaning of recognizability and decidability:
A
recognizer for a language L is a black box that accepts a string as an input, thinks for a while, and says "yes" if and only if that string is in L.
A
decider for a language L is a black box that accepts a string as an input, thinks for a while, and says "yes" if and only if that string is in L, and "no" if and only if that string is not in L.
The difference between a recognizer and a decider is that the decider comes with a guarantee that it will eventually finish thinking and give you an answer. The recognizer only provides a partial guarantee -- if the string is in L it will stop.
So, functionally, a recognizer cannot be used to tell if a string is not in the language L. Even if we wait 10 years and the recognizer hasn't given us an answer, we still don't know if it will stop and print "yes" tomorrow or keep on going forever!
The interesting types of recognizers and deciders are
Turing machines. If a turing machine can act as a recognizer a language, it's called
turing recognizable, and similarly for
Turing decidable. These are interesting because, by Church's Thesis, "there's an algorithm to do ..." is equivalent to "there's a turing machine that does ...".
Incidentally, languages that can be recognized or decided via string rewriting are called
recursively enumerable and
recursive, respectively. As I mentioned before, they are equivalent to turing recognizable and turing decidable, respectively.
There's an interesting turing machine that does the following: given a statement, it goes through all possible proofs looking for one that proves either the statement or its negation.
This machine always acts as a recognizer for the language of statements that can be proven in a given theory. (Well, there are some restrictions on the theory -- I guess it would have to be axiomized by finitely many schema, or something like that)
However, if the theory is both complete and complete, that is every statement is either true or false, and all true statements have a proof, then this machine acts as a decider for it. The converse is also true.