The And operator in Blitz3D is actually bitwise.
The expression ( health >= 2 ) evaluates to 1 or 0, meaning True or False respectively.
The expression EntityCollided (sphere, type_cube) is simply an integer, the sphere's handle. As it happens this is always an even number. So when you combine them with
EntityCollided (sphere, type_cube) And health=>2
the result is 0. Thus your collision code is never executed. Change the test to
If EntityCollided (sphere, type_cube) <> 0 And health => 2 Then
The expression ( health >= 2 ) evaluates to 1 or 0, meaning True or False respectively.
The expression EntityCollided (sphere, type_cube) is simply an integer, the sphere's handle. As it happens this is always an even number. So when you combine them with
EntityCollided (sphere, type_cube) And health=>2
the result is 0. Thus your collision code is never executed. Change the test to
If EntityCollided (sphere, type_cube) <> 0 And health => 2 Then