Antonio,
May I suggest another option? You want to use change documents to trigger the event. However what you have to work with in this approach, are the fields in the change document. Your requirement is to raise event only when a certain document type is changed. This information is not necessarily in the change document. (As you've discovered, the "field restrictions" in this configuration only pertain to the fields shown in the change documents, and evaluates a change from or to a particular value. If you haven't already, take a look at tables CDHDR and CDPOS and this will make sense.)
Instead, if there is any customer exit ("user exit") available to you on the save event of the document, you may want to consider raising the event with your own function module that then checks your conditions and only raises the event when the conditions are met.
The alternatives look like this (I thinnk):
1. Using change documents to raise event, then a check function module on workflow linkage:
save any document >> event raised >> condition checked >> start or don't start workflow.
2. Using customer exit and function module:
save any document >> condition checked >> raise or don't raise event
The consequence of #1 is that you have many events generated that don't start workflow.
In #2 you only raise the event if the condition is met, so you don't have unnecessary events raised.
I'm not enough of a workflow guru to know how much better is #2, or if it is "better" from a workflow guru's point of view at all, but intuitively I would lean toward the approach that doesn't create unnecessary work and log entries in the system.
Anyway it's just a thought. Perhaps it is helpful.
Good luck with it,
Margaret