yes, but the question is: is a good pratice in lazarus, set always a boolean return value in a function that request it?
Not just in Lazarus. In any programming language, it is good programming to initialize return values - such as function results and/or parameters passed by reference (var parameters). Not only this prevents the programmer from "forgetting" to set a value or, having variables left with garbage because a particular execution path didn't set a variable/field to a specific value, when the function/procedure returns, it is usually very easy to determine which values/fields were set to values other than the defaults (initialization) which aids when debugging.
if you are concerned about good habits, initialization upon entry of a function/procedure is a very good one. Another one, that is very good and too often missing, is a one or two line description of what a procedure does, immediately below the function/procedure declaration. If the description takes more than 2 lines or if it cannot be made clear in 2 lines then odds are very good the program logic
isn't quite everything it should be.
HTH.