Hi Gordon,
> Is there any way of turning a joined surface into a solid?
Yes if you have a set of surfaces that are aligned and touch each other edge-to-edge without any malformed areas, then you can use the Edit > Join command to glue those surfaces together into a solid.
> I try to add a small solid shape to the surface but it either never joins or in
> boolean it just disappears for some reason.
Booleans work by intersecting objects and determining which pieces to keep and which to remove depending on what solid volume they are contained inside of. If your base object is not a closed solid it will not be able to determine that and won't function properly. You can use the Edit > Trim command to cut an object with another in that case though, the Edit > Trim command cuts surfaces up and lets you specifically pick which pieces to discard or keep.
Basically the booleans are kind of like a "batch mode" that can be used with solids which do an automatic Trim + discard pieces + join. You can do that manually as well with the Trim and Join commands but can save a lot of steps to have that stuff done automatically so it is usually good to work with soilds and booleans if possible.
On your object here, it looks like one problem area is this little tiny naked edge in this area:
The problem appears to be in the tip of this surface here, the control points are kind of jumbled and bunched up awkwardly there:
It looks like that was probably generated from a sweep? Do you have the curves that were used to make the sweep?
> Also, why to solids sometimes suddenly become joined surfaces during some
> operations so you only notice a few steps further on?
There isn't any one single reason why, it depends on the particular command. But it's not very likely that any object containing this sweep surface with its mangled tip was a solid to begin with. It's kind of easy to assume that when you do a join and the result selects as one object that doesn't have anything wrong at a glance that it is a solid but that is not always the case. It's good to look at the object type indicator after you have done the join so you can see if it is not a solid like you were expecting right there. I do plan on overhauling the Join command in the future so it can give more feedback on what you got as the result of the join.
In general it's a more advanced area of NURBS modeling to try and build surfaces in a "patch by patch" manner like this, it's one of the things that makes vehicle modeling to be a more difficult area with a higher learning curve. It can be better to avoid trying to model the transition areas between larger sheets and instead use filleting to do that, I'll try to explain more in a bit here.
- Michael