The attached example has a ReceiveTask with a TimerBoundaryEvent (20sec). I added two ScriptTask's used only to print some logs.
If i execute this process and after 20s i can see the message "Timer expired".
But if i execute this process and send a Signal to the ReceiveTask like this : runtimeService.signal(execution.getId());
then i don't see any message, and i can see that the process has well ended (My instances view in Explorer).
Please take a look at the Activiti forum entry : http://forums.activiti.org/en/viewtopic.php?f=6&t=2463