Yes. Close will attempt to delete any incoming events once it has begun executing. It closes the device immediately and then waits until any communication ends before completing and anything it gets in the meantime it will ignore/throw away.
Phidget_close won't block waiting for an event that was invoked before you called close - it simply cancels any pending events that were waiting to be dispatched. If an event is inflight, it may complete after close returns - this also allows you to call close from within an event callback. If you call close, you won't get a detach event.