Setting "0" as a weight for an origin should result in no user traffic for that Load Balancer being sent to that origin. Health Checks will still be sent at the expected interval.
The following conditions will cause traffic to still be sent to that origin:
If you change the weights on an LB that has Session Affinity enabled, Cloudflare will maintain existing sessions that were previously associated with an origin. Newly changed or configured weights will be applied to new or expired sessions. If you configure a weight of "0" for an origin, it may take up to 23 hours for previously established sessions to expire.
Origin is Used in Other Pools
If an origin is used in another pool, it may have a multiple weight values assigned to it and traffic will be distributed to the origin based upon a different pool and load balancing configuration. You can check your origins in the Traffic App or via the List Pools API to identify if that origin is being used in multiple configurations.
Grey-cloud Load Balancer
Currently, Weights only apply to orange-cloud Load Balancers only. Grey-cloud load balancers will ignore weight and round robin traffic evenly amongst the configured and active origins.