The datasheet says that resonator has internal caps. I've use 8MHz ceramic resonators in my designs with no problems, although not at 3.3V and I set the low fuse byte to a more appropriate value.
Try feeding a clock signal from your 3.3V Arduino to XTAL1 through a 100 ohm resistor. The frequency doesn't matter much, I would try around 1MHz in the first instance. Leave CKOUT connected to your logic analyser so that you can check that you have a signal there.
Here's a sketch I use to get bursts of a known frequency on the OCR1A pin (pin 9 on an Arduino Uno):
// Generate a square wave of a given frequency on the OCR1A pin
#define REQUIRED_FREQUENCY (38000)
#define REQUIRED_DIVISOR ((F_CPU/REQUIRED_FREQUENCY)/2)
#if (REQUIRED_DIVISOR < 65536)
# define PRESCALER (1)
# define PRESCALER_BITS (1)
#elif (REQUIRED_DIVISOR < 8 * 65536)
# define PRESCALER (8)
# define PRESCALER_BITS (2)
#elif (REQUIRED_DIVISOR < 64 * 65536)
# define PRESCALER (8)
# define PRESCALER_BITS (3)
#elif (REQUIRED_DIVISOR < 256 * 65536)
# define PRESCALER (8)
# define PRESCALER_BITS (4)
#elif (REQUIRED_DIVISOR < 1024 * 65536)
# define PRESCALER (8)
# define PRESCALER_BITS (5)
#else
# error Bad frequency
#endif
# define TOP (((REQUIRED_DIVISOR + (PRESCALER/2))/PRESCALER) - 1)
void setup()
{
pinMode(9, OUTPUT);
digitalWrite(9, LOW);
TCCR1A = 0;
TCCR1B = (1 << WGM12) | PRESCALER_BITS; // turn on
TCCR1C = 0;
OCR1AH = (TOP >> 8);
OCR1AL = (TOP & 0xFF);
}
void on()
{
TCNT1H = 0;
TCNT1L = 0;
TCCR1A = (1 << COM1A0);
}
void off()
{
TCCR1A = 0;
}
void loop()
{
// Generate a burst 2ms long, then wait 10ms before generating the next one
on();
delay(2);
off();
delay(10);
}