Thanks again for the tip, @Christopher_Graham. I debugged the test and went through the logs, and sure enough - the value for the "value" attribute was null! Here's what I don't get: If I start the app via the Appium UI and fire up the Inspector, I see the "Selected/Deselected" value attribute in the Accessibility Inspector. If I run the automated test and stop at a breakpoint, I don't see the "Selected/Deselected" value attribute in the Accessibility Inspector. I am definitely using the same build in both situations. It's also odd that getAttribute("label") works in both cases, but not getAttribute("value").
Here's a snippet of what I pulled from the log:
{"UIAButton":{"@":{"name":"A","label":"A","value":null,"dom":null,"enabled":true,"valid":true,"visible":true,"hint":null,"path":"/0/0/20/0/0/2/1","x":20,"y":233.361328125,"width":40,"height":40}
And some screenshots:
From Appium Inspector (no test running):

Captured while debugging automated test:

Thanks again for your help.