I'm going to chime in an answer.
Unlikely ... but it's still uncertain because lacking further details of your whole end-to-end expectation, ie device receiving vcard. You mentioned the BinaryMessage setPayload() method from the BlackBerry API.
Sahil, after reading your very good comments and everyone's back-and-forth, I understand now you are intending to have the message be received specifically via SMS and not MMS.
You're expecting the sending device to use SMS, and so implicitly expect the recipient device to receive a string of text, and without wanting to break it appart from other parts in a multi-part message. An in-coming SMS message with special contents can be parsed by a messaging app listening for incoming data, and in the case of iOS, it can render web links and phone numbers within SMS text as active links. But I don't know that any mobile phone platform supports vcard in this manner in the on-board messaging app. Certainly not iOS. Maybe BlackBerry OS.
I'm going to ask for further clarification on one point (and edit my answer if you answer it): are you already developing a BlackBerry app to send SMS with the payload, to another blackberry phone, and know it can be parsed as vcard on that platform, and just wonder if this can be achieved outside the blackberry?
Edit -
Thinking logically, something critical is missing, or something is added, by the iPhone device. Second point, the BlackBerry code either submits the required thing, or does not include whatever iPhones add that stops detection of vcard.
The solution I'd propose is, get a temporary subscription to an SMS gateway, and send controlled tests, and also capture all the traffic through the gateway if possible.
check out http://www.redoxygen.com/