Have you set iMessage up to recognize both your primary and secondary number? Your phone would need to recognize that you want both SIM to access iMessages.
Have you checked the Apple site, as this seems more a device issue than a SIM issue.
To enable in iMessage, go into messages, facetime, etc. and add the number that's missing.
In your contacts, choose which contact uses which line. Then the texts should go automatically.
The carriers, some of them anyway, have some funny business with the visual voicemail and dual sim, in some cases, they have firewalled it so that visual voicemail will only go on the data plan of the carrier you've got it on. Do you have both sims on the same carrier or not? If you have a Rogers line, visual voicemail will generally only come when you are using Rogers data. You can complain to the carriers about it, but most of them won't have a clue what you are talking about or maybe like a Rogers rep told me, "It is against the law" although they could not quote the law. It is annoying but good luck.