I see what you mean - that was a bug that i managed to introduce myself while trying to get it to work lol - have altered the code to not use :notempty - still not showing success messages though
[[!FormIt?
&hooks=`successMessage,email,chimpHooker`
&emailTpl=`BookingEmail`
&emailTo=`[email protected]`
&emailBCC=`[email protected]`
&emailSubject=`Booking From MSA`
&successMessage=`Your booking has been received, we will sending you a confirmation email very soon!`
&vTextRequired=` - Required!`
&validate=`name:required,email:email:required,tel:required,type:required,package:required,dates:required,comments:required:stripTags`
&mcApiKey=`0a1d55ca0fdd46972a788abdbb6c313c-us4`
&mcListId=`5c8eb14e4e`
&mcMergeTags=`EMAIL:email`
&mcSendWelcome=`0`
&mcDoubleOptin=`0`
&mcFailOnAlreadySubscribed=`1`
]]
[[!+fi.successMessage]]
[[!+fi.error_message:notempty=`<p>[[!+fi.error_message]]</p>`]]
<form action="[[~[[*id]]]]" method="post">
<input type="hidden" name="firstname" value="" />
<table class="form">
<tr>
<td><label for="name">Name<span class="error"> [[!+fi.error.name]]</span></label><input name="name" id="name" type="text"></td>
</tr>
<tr>
<td><label for="email">Email<span class="error"> [[!+fi.error.email]]</span></label><input name="email" id="email" type="text"></td>
</tr>
<tr>
<td><label for="tel">Tel<span class="error"> [[!+fi.error.tel]]</span></label><input name="tel" id="tel" type="text"></td>
</tr>
<tr>
<td><label for="type">Type of Traveller<span class="error"> [[+fi.error.type]]</span></label>
<select name="type" id="type">
<option value="">Select an option...</option>
<option value="Solo Traveller" [[!+fi.type:FormItIsSelected=`Solo Traveller`]]>Solo Traveller</option>
<option value="Couple" [[!+fi.type:FormItIsSelected=`Couple`]]>Couple</option>
<option value="Family" [[!+fi.type:FormItIsSelected=`Family`]]>Family</option>
<option value="Group" [[!+fi.type:FormItIsSelected=`Family`]]>Group</option>
</select>
</td>
</tr>
<tr>
<td><label for="package">Surf Package Required<span class="error"> [[+fi.error.package]]</span></label>
<select name="package" id="package">
<option value="">Select an option...</option>
<option value="Beginner" [[!+fi.package:FormItIsSelected=`Beginner`]]>Beginner</option>
<option value="Intermediate" [[!+fi.package:FormItIsSelected=`Intermediate`]]>Intermediate</option>
<option value="Advanced" [[!+fi.package:FormItIsSelected=`Advanced`]]>Advanced</option>
<option value="Saharan Adventure" [[!+fi.package:FormItIsSelected=`Saharan Adventure`]]>Saharan Adventure</option>
<option value="N/A" [[!+fi.package:FormItIsSelected=`N/A`]]>N/A</option>
</select>
</td>
</tr>
</table>
<table class="form">
<tr>
<td><label for="dates">Preferred Dates<span class="error"> [[!+fi.error.dates]]</span></label><input name="dates" id="dates" type="text"></td>
</tr>
<tr>
<td><label for="comments">Questions & Comments<span class="error"> [[!+fi.error.comments]]</span></label><textarea name="comments" id="comments" rows="5"></textarea></td>
</tr>
<tr>
<td><label for="urgency">Level Of Urgency<span class="error"> [[+fi.error.urgency]]</span></label>
<select name="urgency" id="urgency">
<option value="">Select an option...</option>
<option value="Shopping Around" [[!+fi.urgency:FormItIsSelected=`Shopping Around`]]>Shopping Around</option>
<option value="Got Pass From Partner/Spouse" [[!+fi.urgency:FormItIsSelected=`Got Pass From Partner/Spouse`]]>Got Pass From Partner/Spouse</option>
<option value="My Bags Are Packed!" [[!+fi.urgency:FormItIsSelected=`My Bags Are Packed!`]]>My Bags Are Packed!</option>
</select>
</td>
</tr>
<tr>
<td><input type="checkbox" name="mailinglist" checked="checked" value="yes" [[!+fi.mailinglist:FormItIsChecked=`yes`]] > News & offers sent directly to me via email? ...yes please!</td>
</tr>
</table>
<div class="clear"></div>
<p class="actions"><button type="submit"><span><span>Book Now!</span></span></button></p>
</form>
<hr />
Thank you for helping though

Back to the drawing board - doh!