I can make the join blockm without inputs
Both of those are not bugs. Running a block in the unused blocks dialog might just be a result to being able to drag blocks out, just like the block palette.
Having no inputs in the join block is a feature for variadic inputs.
You would not want no inputs in the join block.You want atleast one.
What if you need to compare against an empty string in a map block without using the value variable? And also, I sometimes find it easier to drop lists into the variadic input when it's set to no inputs.
That is not a bug, it's a feature