I think I'm seeing something similar on the latest screen I've been working on. I have was trying to automatically capture the keys and get a cursor on a certain edit boxe when loading the screen but it wasn't always showing me the cursor either. Even though D4D_GetCapturedObject() would return the desired edit box and I could manipulate the contents and select characters as though the cursor were visible. This seemed to be a problem mostly the first time I loaded the screen after a reboot. Anyway I've not figured out the real cause but a work around that fixed it for me was to call D4D_Poll() after setting the focus but before calling D4D_CaptureKeys().
D4D_FocusSet(D4D_GetActiveScreen(), &edit_box);
D4D_Poll();
D4D_CaptureKeys(&edit_box);
Doesn't really fix any possible bugs that might be out there but maybe it will help you.
I have not had the problem with no cursor when I just let the user set the focus to my edit box using arrow keys(D4D_KEY_SCANCODE_UP, D4D_KEY_SCANCODE_DOWN) and then selecting the edit box with D4D_KEY_SCANCODE_ENTER. I'm just doing all that with calls like D4D_NewKeyEvent(D4D_KEY_SCANCODE_ENTER) and letting eGUI move the focus and select/capture keys on the edit box.
Hope some of that helps.
Thanks,
Sean