<p>I have created a VB.Net lending application for a cooperative that caters to widows. The application tracks the members' loans and payments, and is also used as an accounting system. In my first release, the users felt that showing a messagebox every time an error occurs is very annoying. My solution is to output errors in a label control. The users accepted the modification, but i feel i am doing it wrong. </p>

They were probably annoyed with a modal dialog that interrupted their input flow.  Imagine if Word interrupted you every time you typed a word it couldn't find in the dictionary, instead of just underlining it in red and letting you fix your typos later.  You'd type pretty slow.
I recommend you just highlight input errors and let them come back and fix them when they're done.  If they try to submit the form (or whatever the analogue would be), then show the dialog and don't let them submit until they fix or acknowledge the fields flagged with errors.