The second
<cfif Len(Trim(FORM.Forename)) GT 0>
The first will not be null. Cf will receive an empty string or no form element. The third is covered by the second.
You may need to wrap the form element with an isdefined depending on the form element type.