I have been developing Excel VBA software, but am not considering going more "commercial". In doing so, I am trying to weigh pro's and con's:

Excel VBA:
Pros:
- short learning curve
- very good user interface

Cons:
- Lacks professionalism (opinion)
- Hard to protect from redistribution (negative effects when using something like LockXLS)
- Hard to insure compatibility (multiple versions, user must activate macros, etc.)

While I have spent a lot of time with Excel VBA, I am starting to think that for a commercial application, VB or something else (C++) might be a better choice. I would like to hear some other opinions about this though.