It seems not to be bug as long as such number can be used for dialing (you didn;t mentioned its possible or not).
Call History collect caller's number as delivered. According your description, it seems the caller number is delivered in E.164 format with leading +. SPA5xx assumes the VoIP operator provide you the caller number in the format suitable for outgoing call.
There's no reason to provide you caller number in the format you can't use, so if it can't be used it's your VoIP provider fault.
You can use Ext N -> Caller ID Map to modify caller's number of incomming call.