What we did is use the Commerce Gateway functionality to interface with Biztalk. This is not a big deal, all that stuff is right in the Navision codeunits. Then to communicate between Biztalk and MS-CRM, we had to write custom software to send XML from Biztalk to custom aspx page that uses the MS-CRM SDK to write to MS-CRM. Then to catch new and modified records out of MS-CRM you need what is called a 'post callout' component that sends those records back into Biztalk, which in turn sends the translated document back to Navision.
You could also cut out the Biztalk layer, but you'd have to write your own component to communicate with Navision.