Hi,
The reason why smtp.send() is returning true is because of the way you have configured smtp delivery.
You have set it up to use
SmtpDeliveryMethod.PickupDirectoryFromIis.
This setting will not directly use your local smtp service, but instead delivery email to the mailroot folder location.
Hope it helps.
[Edited to add]
As the message has been successfully written to the mailroot folder, no exception will be raised.
If you modifiy your code to use a network delivery method, then exception can be raised to your asp.net code if the server is not available.
[/Edited to add]