I’m guessing that the user part of SIP URI does not begin with a digit, either because the operator sends the called number as +494408xxxxxx, or because they put the user name there (and send the called number in the To header).
Try changing the custom dialplan in extensions_custom.conf like this:
[prepend-zero]
exten => _.,1,GotoIf($[ "${CALLERID(number)}" = "anonymous" ]?nochange)
exten => _.,n,Set(CALLERID(all)=0${CALLERID(num)})
exten => _.,n(nochange),Goto(from-trunk,${EXTEN},1)
If you still have trouble, paste the Asterisk log for a failed call at pastebin.freepbx.org and post the link here. Also, please post: who is the operator? What was the Context for your trunk, before changing it to prepend-zero?
In Hude, from a normal landline phone, you can call local numbers by dialing 4 to 6 digits, without an area code. Do you permit that on your system, either with or without an extra 0? If not, you can add an Outbound Route that permits dialing domestic numbers without the extra 0, while not affecting any of the formats you have now.
Someone visiting or working in your home (babysitter, plumber, etc.) might have an emergency but not be familiar with your system, so you should make sure that 112 and 0112 both work (and similarly for 110 and other emergency numbers). You should teach your family that if they accidentally do call an emergency number, they should not hang up and should explain to the dispatcher that they do not have an emergency and dialed the number by mistake. Once confirmed, they can hang up and be confident that the police or ambulance will not be sent.