The problem, then, is not the code that you're running. It's good code for testing the status of the button. The problem is that your code is not contextual to what it is you're testing. On the first screen, you want the button to be disabled. On the second and consecutive screens, you want the button to be enabled. So, using the code you have for all screens will be a problem.
What you need to do is actually pass in some sort of contextualization to your test to say "This time, I want the button to be enabled".
Since you're using a DDT driver already, you might want to specify in your DDT file what the expected status of the button is. You're already testing the expected caption, so you could do something similar with the Enabled status.