Hi Pavan,
If you flag "Enable Event queue" your event delivery will get delayed. When it is un-flagged and if you create any new Defect the receiver is started immediately. This is the reason you did not get current work items.
F1 help on "Enable Event queue" explains it:
This indicator is only evaluated if the event queue is active. If the
indicator is set, the event receiver is started via the event queue. If the
indicator is not set or the event queue is not active, the receiver is started
immediately.
Once the event has occurred in the system, this receiver is not started
immediately, but is first put into the event queue. The event queue is processed
at regular intervals by a background job. Processing the event via the event
queue means that the system load can be reduced if a lot of events occur for
this linkage in a short period of time. The load reduction is achieved by not
calling the transactional RFCs for the start of the receivers immediately
(increasing the load on RFC processing), but in small numbers with time delays
instead.
Using the event queue hence delays the calling of the receivers.
As far as FM is concerned i have not worked with sww_wi_create_via_event, but yes, you can try and let us know what difference these two FM has.
Amol.