The AllowFilterOnBlur property of the filter shows whether a postback will happen after a textbox from the filter loses focus. When you enter a value in the textbox and right after that you press the button, the button event is fired before the value of the RadFilterExpression is set. That is why you see null value there (or the old one). When the AllowFilterOnBlur is enabled and you click outside the box before hitting the button, a postback happens and the new value is set correctly. Then when pressing the button there will not be problems extracting the value.
One way to get the value entered by user directly on button click is to wire a client-side script to the button click event, and use the filter client-side API to get the value from the textbox.
Another approach is directly in the server code to call RadFilter1.FireApplyCommand(); This way filter expressions will be recreated and you should be able to extract the entered value.
sender, EventArgs e)
value = (RadFilter1.RootGroupItem.Expression.Expressions
Let me know how this works for you and if you have any other questions.
the Telerik team